target/arm: Simplify condition for tlbi_el2_cp_reginfo[]
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 10 Dec 2024 16:04:52 +0000 (16:04 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 13 Dec 2024 15:41:09 +0000 (15:41 +0000)
commit48e652c4bd9570f6f24def25355cb3009a7300f8
tree98817b4f658f7c9502a38fdefdb33a649fd1cb5d
parent0b7aefb9ebf5c0165aea5c8b4dde18508d015eff
target/arm: Simplify condition for tlbi_el2_cp_reginfo[]

We currently register the tlbi_el2_cp_reginfo[] TLBI insns if EL2 is
implemented, or if EL3 and v8 is implemented.  This is a copy of the
logic used for el2_cp_reginfo[], but for the specific case of the
TLBI insns we can simplify it.  This is because we do not need the
"if EL2 does not exist but EL3 does then EL2 registers should exist
and be RAZ/WI" handling here: all our cpregs are for instructions,
which UNDEF when EL3 exists and EL2 does not.

Simplify the condition down to just "if EL2 exists".
This is not a behaviour change because:
 * for AArch64 insns we marked them with ARM_CP_EL3_NO_EL2_UNDEF,
   which meant that define_arm_cp_regs() would ignore them if
   EL2 wasn't present
 * for AArch32 insns, the .access = PL2_W meant that if EL2
   was not present the only way to get at them was from AArch32
   EL3; but we have no CPUs which have ARM_FEATURE_V8 but
   start in AArch32

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241210160452.2427965-11-peter.maydell@linaro.org
target/arm/tcg/tlb-insns.c