target/arm: Fold secure and non-secure a-profile mmu indexes
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 1 Oct 2022 16:22:46 +0000 (09:22 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 10 Oct 2022 13:52:24 +0000 (14:52 +0100)
commitd902ae7558690a8442bf3560d5707167e485ab92
tree1f8f1914030d23dee47cf796563e41dab77b8f51
parent7aee3cb9569f83353b17df05dc9d3a7f791b5fdf
target/arm: Fold secure and non-secure a-profile mmu indexes

For a-profile aarch64, which does not bank system registers, it takes
quite a lot of code to switch between security states.  In the process,
registers such as TCR_EL{1,2} must be swapped, which in itself requires
the flushing of softmmu tlbs.  Therefore it doesn't buy us anything to
separate tlbs by security state.

Retain the distinction between Stage2 and Stage2_S.

This will be important as we implement FEAT_RME, and do not wish to
add a third set of mmu indexes for Realm state.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221001162318.153420-11-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/cpu-param.h
target/arm/cpu.h
target/arm/helper.c
target/arm/internals.h
target/arm/ptw.c
target/arm/translate-a64.c
target/arm/translate.c