On 4/1/25 20:50, Philippe Mathieu-Daudé wrote:
> 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;
> }
> ---
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~