Message ID | 20250401080938.32278-24-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | cpus: Restrict SoftMMU mmu_index() to TCG | expand |
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 --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);
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(-)