unicorn/qemu/target-arm
Peter Maydell 9826fc4414
target-arm: Implement remaining illegal return event checks
We already implement almost all the checks for the illegal
return events from AArch64 state described in the ARM ARM section
D1.11.2. Add the two missing ones:
* return to EL2 when EL3 is implemented and SCR_EL3.NS is 0
* return to Non-secure EL1 when EL2 is implemented and HCR_EL2.TGE is 1

(We don't implement external debug, so the case of "debug state exit
from EL0 using AArch64 state to EL0 using AArch32 state" doesn't apply
for QEMU.)

Backports commit e393f339af87da7210f6c86902b321df6a2e8bf5 from qemu
2018-02-18 22:47:23 -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: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
cpu.h target-arm: Properly support EL2 and EL3 in arm_el_is_aa64() 2018-02-18 22:20:51 -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: Handle exception return from AArch64 to non-EL0 AArch32 2018-02-18 22:46:50 -05:00
helper.h target-arm: Fix CPU breakpoint handling 2018-02-17 15:24:02 -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: Implement remaining illegal return event checks 2018-02-18 22:47:23 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
translate.c target-arm: Clean up includes 2018-02-17 21:09:32 -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