diff mbox series

[PATCH-for-10.1,23/24] hw/core/cpu: Remove CPUClass::mmu_index()

Message ID 20250401080938.32278-24-philmd@linaro.org
State New
Headers show
Series cpus: Restrict SoftMMU mmu_index() to TCG | expand

Commit Message

Philippe Mathieu-Daudé April 1, 2025, 8:09 a.m. UTC
All targets have been converted to TCGCPUOps::mmu_index(),
remove the now unused CPUClass::mmu_index().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/exec/cpu-mmu-index.h | 4 +---
 include/hw/core/cpu.h        | 2 --
 2 files changed, 1 insertion(+), 5 deletions(-)

Comments

Philippe Mathieu-Daudé April 2, 2025, 3:50 a.m. UTC | #1
On 1/4/25 10:09, Philippe Mathieu-Daudé wrote:
> All targets have been converted to TCGCPUOps::mmu_index(),
> remove the now unused CPUClass::mmu_index().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/exec/cpu-mmu-index.h | 4 +---
>   include/hw/core/cpu.h        | 2 --
>   2 files changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/include/exec/cpu-mmu-index.h b/include/exec/cpu-mmu-index.h
> index 651526e9f97..a87b6f7c4b7 100644
> --- a/include/exec/cpu-mmu-index.h
> +++ b/include/exec/cpu-mmu-index.h
> @@ -32,9 +32,7 @@ static inline int cpu_mmu_index(CPUState *cs, bool ifetch)
>   # endif
>   #endif
>   
> -    const TCGCPUOps *tcg_ops = cs->cc->tcg_ops;
> -    int ret = tcg_ops->mmu_index ? tcg_ops->mmu_index(cs, ifetch)
> -                                 : cs->cc->mmu_index(cs, ifetch);
> +    int ret = cs->cc->tcg_ops->mmu_index(cs, ifetch);
>       tcg_debug_assert(ret >= 0 && ret < NB_MMU_MODES);
>       return ret;
>   }
> diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
> index 60b7abaf49b..10b6b25b344 100644
> --- a/include/hw/core/cpu.h
> +++ b/include/hw/core/cpu.h
> @@ -104,7 +104,6 @@ struct SysemuCPUOps;
>    *                 instantiatable CPU type.
>    * @parse_features: Callback to parse command line arguments.
>    * @reset_dump_flags: #CPUDumpFlags to use for reset logging.
> - * @mmu_index: Callback for choosing softmmu mmu index.
>    * @memory_rw_debug: Callback for GDB memory access.
>    * @dump_state: Callback for dumping state.
>    * @query_cpu_fast:
> @@ -151,7 +150,6 @@ struct CPUClass {
>       ObjectClass *(*class_by_name)(const char *cpu_model);
>       void (*parse_features)(const char *typename, char *str, Error **errp);
>   
> -    int (*mmu_index)(CPUState *cpu, bool ifetch);
>       int (*memory_rw_debug)(CPUState *cpu, vaddr addr,
>                              uint8_t *buf, size_t len, bool is_write);
>       void (*dump_state)(CPUState *cpu, FILE *, int flags);

And I'll squash:

-- >8 --
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 8057a5a0ce8..b00f046b29f 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -1077,6 +1077,7 @@ bool tcg_exec_realizefn(CPUState *cpu, Error **errp)
          assert(tcg_ops->cpu_exec_interrupt);
  #endif /* !CONFIG_USER_ONLY */
          assert(tcg_ops->translate_code);
+        assert(tcg_ops->mmu_index);
          tcg_ops->initialize();
          tcg_target_initialized = true;
      }
---
diff mbox series

Patch

diff --git a/include/exec/cpu-mmu-index.h b/include/exec/cpu-mmu-index.h
index 651526e9f97..a87b6f7c4b7 100644
--- a/include/exec/cpu-mmu-index.h
+++ b/include/exec/cpu-mmu-index.h
@@ -32,9 +32,7 @@  static inline int cpu_mmu_index(CPUState *cs, bool ifetch)
 # endif
 #endif
 
-    const TCGCPUOps *tcg_ops = cs->cc->tcg_ops;
-    int ret = tcg_ops->mmu_index ? tcg_ops->mmu_index(cs, ifetch)
-                                 : cs->cc->mmu_index(cs, ifetch);
+    int ret = cs->cc->tcg_ops->mmu_index(cs, ifetch);
     tcg_debug_assert(ret >= 0 && ret < NB_MMU_MODES);
     return ret;
 }
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 60b7abaf49b..10b6b25b344 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -104,7 +104,6 @@  struct SysemuCPUOps;
  *                 instantiatable CPU type.
  * @parse_features: Callback to parse command line arguments.
  * @reset_dump_flags: #CPUDumpFlags to use for reset logging.
- * @mmu_index: Callback for choosing softmmu mmu index.
  * @memory_rw_debug: Callback for GDB memory access.
  * @dump_state: Callback for dumping state.
  * @query_cpu_fast:
@@ -151,7 +150,6 @@  struct CPUClass {
     ObjectClass *(*class_by_name)(const char *cpu_model);
     void (*parse_features)(const char *typename, char *str, Error **errp);
 
-    int (*mmu_index)(CPUState *cpu, bool ifetch);
     int (*memory_rw_debug)(CPUState *cpu, vaddr addr,
                            uint8_t *buf, size_t len, bool is_write);
     void (*dump_state)(CPUState *cpu, FILE *, int flags);