unicorn/qemu/target-arm
Peter Maydell 7a482198b2
target-arm: Add debug check for mismatched cpreg resets
It's easy to accidentally define two cpregs which both try
to reset the same underlying state field (for instance a
clash between an AArch64 EL3 definition and an AArch32
banked register definition). if the two definitions disagree
about the reset value then the result is dependent on which
one happened to be reached last in the hashtable enumeration.

Add a consistency check to detect and assert in these cases:
after reset, we run a second pass where we check that the
reset operation doesn't change the value of the register.

Backports commit 49a661910c1374858602a3002b67115893673c25 from qemu
2018-02-17 15:23:25 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu-qom.h target-arm: Add the Hypervisor timer 2018-02-17 15:23:25 -05:00
cpu.c target-arm: Add debug check for mismatched cpreg resets 2018-02-17 15:23:25 -05:00
cpu.h target-arm: Add debug check for mismatched cpreg resets 2018-02-17 15:23:25 -05:00
cpu64.c target-arm: Fix REVIDR reset value 2018-02-13 14:24:08 -05:00
crypto_helper.c crypto: move built-in AES implementation into crypto/ 2018-02-17 15:23:17 -05:00
helper-a64.c target-arm: A64: Print ELR when taking exceptions 2018-02-17 15:23:13 -05:00
helper-a64.h import 2015-08-21 15:04:50 +08:00
helper.c target-arm: Add debug check for mismatched cpreg resets 2018-02-17 15:23:25 -05:00
helper.h target-arm: Split DISAS_YIELD from DISAS_WFE 2018-02-17 15:23:14 -05:00
internals.h arm: Refactor get_phys_addr FSR return mechanism 2018-02-17 15:22:42 -05:00
iwmmxt_helper.c import 2015-08-21 15:04:50 +08: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 Arm support ported. (#736) 2017-01-23 23:30:57 +08:00
op_addsub.h import 2015-08-21 15:04:50 +08:00
op_helper.c target-arm: Split DISAS_YIELD from DISAS_WFE 2018-02-17 15:23:14 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: Split DISAS_YIELD from DISAS_WFE 2018-02-17 15:23:14 -05:00
translate.c target-arm: Implement YIELD insn to yield in ARM and Thumb translators 2018-02-17 15:23:14 -05:00
translate.h target-arm: Split DISAS_YIELD from DISAS_WFE 2018-02-17 15:23:14 -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