xemu/target
Jean-Philippe Brucker e1ee56ec23 target/arm: Pass security space rather than flag for AT instructions
At the moment we only handle Secure and Nonsecure security spaces for
the AT instructions. Add support for Realm and Root.

For AArch64, arm_security_space() gives the desired space. ARM DDI0487J
says (R_NYXTL):

  If EL3 is implemented, then when an address translation instruction
  that applies to an Exception level lower than EL3 is executed, the
  Effective value of SCR_EL3.{NSE, NS} determines the target Security
  state that the instruction applies to.

For AArch32, some instructions can access NonSecure space from Secure,
so we still need to pass the state explicitly to do_ats_write().

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20230809123706.1842548-5-jean-philippe@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-08-22 17:31:12 +01:00
..
alpha other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
arm target/arm: Pass security space rather than flag for AT instructions 2023-08-22 17:31:12 +01:00
avr target/avr: Fix handling of interrupts above 33. 2023-07-08 07:24:38 +03:00
cris other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
hexagon target: Widen pc/cs_base in cpu_get_tb_cpu_state 2023-06-26 17:32:59 +02:00
hppa target/hppa: Move iaoq registers and thus reduce generated code size 2023-08-04 00:02:56 +02:00
i386 kvm: Introduce kvm_arch_get_default_type hook 2023-08-22 17:31:02 +01:00
loongarch other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
m68k target/m68k: Fix semihost lseek offset computation 2023-08-01 23:52:23 +02:00
microblaze other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
mips mips: Report an error when KVM_VM_MIPS_VZ is unavailable 2023-08-22 17:31:03 +01:00
nios2 target/nios2: Fix semihost lseek offset computation 2023-08-01 23:52:23 +02:00
openrisc target/openrisc: Set EPCR to next PC on FPE exceptions 2023-07-31 22:01:03 +01:00
ppc kvm: Introduce kvm_arch_get_default_type hook 2023-08-22 17:31:02 +01:00
riscv kvm: Introduce kvm_arch_get_default_type hook 2023-08-22 17:31:02 +01:00
rx other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
s390x kvm: Introduce kvm_arch_get_default_type hook 2023-08-22 17:31:02 +01:00
sh4 target: Widen pc/cs_base in cpu_get_tb_cpu_state 2023-06-26 17:32:59 +02:00
sparc trivial-patches 25-07-2023 2023-07-25 16:30:52 +01:00
tricore target/tricore: Rename tricore_feature 2023-07-25 17:18:51 +03:00
xtensa target/xtensa: Assert that interrupt level is within bounds 2023-07-06 13:26:43 +01:00
Kconfig hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
meson.build target/loongarch: Add target build suport 2022-06-06 18:09:03 +00:00