unicorn/qemu/target-arm
Peter Maydell aecf7b05dc
target-arm: Implement NSACR trapping behaviour
Implement some corner cases of the behaviour of the NSACR
register on ARMv8:
* if EL3 is AArch64 then accessing the NSACR from Secure EL1
with AArch32 should trap to EL3
* if EL3 is not present or is AArch64 then reads from NS EL1 and
NS EL2 return constant 0xc00

It would in theory be possible to implement all these with
a single reginfo definition, but for clarity we use three
separate definitions for the three cases and install the
right one based on the CPU feature flags.

Backports commit 2f027fc52d4b444a47cb05a9c96697372a6b57d2 from qemu
2018-02-20 11:29:29 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu-qom.h target-arm: Use a single entry point for AArch64 and AArch32 exceptions 2018-02-18 22:34:31 -05:00
cpu.c target-arm: Don't report presence of EL2 if it doesn't exist 2018-02-19 01:23:28 -05:00
cpu.h target-arm: Add isread parameter to CPAccessFns 2018-02-20 11:24:17 -05:00
cpu64.c target-arm: Use a single entry point for AArch64 and AArch32 exceptions 2018-02-18 22:34:31 -05:00
crypto_helper.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
helper-a64.c target-arm: Move aarch64_cpu_do_interrupt() to helper.c 2018-02-18 22:23:06 -05:00
helper-a64.h import 2015-08-21 15:04:50 +08:00
helper.c target-arm: Implement NSACR trapping behaviour 2018-02-20 11:29:29 -05:00
helper.h target-arm: Add isread parameter to CPAccessFns 2018-02-20 11:24:17 -05:00
internals.h target-arm: Use the right MMU index in arm_regime_using_lpae_format 2018-02-17 20:56:32 -05:00
iwmmxt_helper.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
kvm-consts.h import 2015-08-21 15:04:50 +08:00
Makefile.objs delete sparc32_dma.h & arm-semi.c 2017-01-19 15:10:41 +08:00
neon_helper.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
op_addsub.h import 2015-08-21 15:04:50 +08:00
op_helper.c target-arm: Add isread parameter to CPAccessFns 2018-02-20 11:24:17 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: Add isread parameter to CPAccessFns 2018-02-20 11:24:17 -05:00
translate.c target-arm: Add isread parameter to CPAccessFns 2018-02-20 11:24:17 -05:00
translate.h tcg: Remove gen_intermediate_code_pc 2018-02-17 15:23:59 -05:00
unicorn.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
unicorn_aarch64.c target-arm: rename c1_coproc to cpacr_el1 2018-02-12 20:46:00 -05:00
unicorn_arm.c target-arm: Add registers for PMSAv7 2018-02-17 15:22:43 -05:00