On 30/1/24 00:30, Richard Henderson wrote:
While the primary use of mmu_index is for the softmmu index for
system-mode tcg, it has a secondary use in encoding cpu state for
the page table walker, and thus depending on the target may also
be used by memory_rw_debug with kvm et al.

This is why I placed the hook in CPUClass not TCGCPUOps.


r~


Richard Henderson (33):
   include/hw/core: Add mmu_index to CPUClass
   target/alpha: Split out alpha_env_mmu_index
   target/alpha: Populate CPUClass.mmu_index
   target/arm: Split out arm_env_mmu_index
   target/arm: Populate CPUClass.mmu_index
   target/avr: Populate CPUClass.mmu_index
   target/cris: Cache mem_index in DisasContext
   target/cris: Populate CPUClass.mmu_index
   target/hppa: Populate CPUClass.mmu_index
   target/i386: Populate CPUClass.mmu_index
   target/loongarch: Populate CPUClass.mmu_index
   target/loongarch: Rename MMU_IDX_*
   target/m68k: Populate CPUClass.mmu_index
   target/microblaze: Populate CPUClass.mmu_index
   target/mips: Pass ptw_mmu_idx down from mips_cpu_tlb_fill
   target/mips: Split out mips_env_mmu_index
   target/mips: Populate CPUClass.mmu_index
   target/nios2: Populate CPUClass.mmu_index
   target/openrisc: Populate CPUClass.mmu_index
   target/ppc: Split out ppc_env_mmu_index
   target/ppc: Populate CPUClass.mmu_index
   target/riscv: Rename riscv_cpu_mmu_index to riscv_env_mmu_index
   target/riscv: Replace cpu_mmu_index with riscv_env_mmu_index
   target/riscv: Populate CPUClass.mmu_index
   target/rx: Populate CPUClass.mmu_index
   target/s390x: Split out s390x_env_mmu_index
   target/s390x: Populate CPUClass.mmu_index
   target/sh4: Populate CPUClass.mmu_index
   target/sparc: Populate CPUClass.mmu_index
   target/tricore: Populate CPUClass.mmu_index
   target/xtensa: Populate CPUClass.mmu_index
   include/exec: Implement cpu_mmu_index generically
   include/exec: Change cpu_mmu_index argument to CPUState

Series:
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>


Reply via email to