qemu/target
Ake Koomsin c939a7c7b9 target/arm: honor HCR_E2H and HCR_TGE in arm_excp_unmasked()
An exception targeting EL2 from lower EL is actually maskable when
HCR_E2H and HCR_TGE are both set. This applies to both secure and
non-secure Security state.

We can remove the conditions that try to suppress masking of
interrupts when we are Secure and the exception targets EL2 and
Secure EL2 is disabled.  This is OK because in that situation
arm_phys_excp_target_el() will never return 2 as the target EL.  The
'not if secure' check in this function was originally written before
arm_hcr_el2_eff(), and back then the target EL returned by
arm_phys_excp_target_el() could be 2 even if we were in Secure
EL0/EL1; but it is no longer needed.

Signed-off-by: Ake Koomsin <ake@igel.co.jp>
Message-id: 20221017092432.546881-1-ake@igel.co.jp
[PMM: Add commit message paragraph explaining why it's OK to
 remove the checks on secure and SCR_EEL2]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2022-10-27 10:27:23 +01:00
..
alpha target/alpha: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
arm target/arm: honor HCR_E2H and HCR_TGE in arm_excp_unmasked() 2022-10-27 10:27:23 +01:00
avr target/avr: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
cris target/cris: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
hexagon target/hexagon: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
hppa target/hppa: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
i386 Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
loongarch target/loongarch: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
m68k target/m68k: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
microblaze target/microblaze: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
mips target/mips: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
nios2 target/nios2: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
openrisc target/openrisc: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
ppc target/ppc: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
riscv Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
rx Revert incorrect cflags initialization. 2022-10-26 10:53:41 -04:00
s390x dump queue 2022-10-26 10:53:49 -04:00
sh4 target/sh4: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
sparc target/sparc: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
tricore target/tricore: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
xtensa target/xtensa: Convert to tcg_ops restore_state_to_opc 2022-10-26 11:11:28 +10:00
Kconfig
meson.build