unicorn/qemu/target-arm
Sergey Fedorov 07ead14756
target-arm: Do not reset sysregs marked as ALIAS
cp_reg_reset() is called from g_hash_table_foreach() which does not
define a specific ordering of the hash table iteration. Thus doing reset
for registers marked as ALIAS would give an ambiguous result when
resetvalue is different for original and alias registers. Exit
cp_reg_reset() early when passed an alias register. Then clean up alias
register definitions from needless resetvalue and resetfn.

In particular, this fixes a bug in the handling of the PMCR register,
which had different resetvalues for its 32 and 64-bit views.

Backports commit b061a82b8afcc45ce09d770d9c0acdf429401054 from qemu
2018-02-17 15:22:43 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu-qom.h arm: Add has-mpu property 2018-02-17 15:22:42 -05:00
cpu.c target-arm: Do not reset sysregs marked as ALIAS 2018-02-17 15:22:43 -05:00
cpu.h target-arm: Do not reset sysregs marked as ALIAS 2018-02-17 15:22:43 -05:00
cpu64.c target-arm: Fix REVIDR reset value 2018-02-13 14:24:08 -05:00
crypto_helper.c target-arm: crypto: fix BE host support 2018-02-12 10:40:52 -05:00
helper-a64.c target-arm: Update interrupt handling to use target EL 2018-02-12 22:42:37 -05:00
helper-a64.h import 2015-08-21 15:04:50 +08:00
helper.c target-arm: Do not reset sysregs marked as ALIAS 2018-02-17 15:22:43 -05:00
helper.h target-arm: Add exception target el infrastructure 2018-02-12 22:17:02 -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 arm: Refactor get_phys_addr FSR return mechanism 2018-02-17 15:22:42 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: Don't halt on WFI unless we don't have any work 2018-02-12 23:10:45 -05:00
translate.c target-arm: Correct "preferred return address" for cpreg access exceptions 2018-02-17 15:22:42 -05:00
translate.h target-arm: Extend FP checks to use an EL 2018-02-12 23:04:19 -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 unicorn_arm: m68k/translate: Build fixes 2018-02-13 09:15:46 -05:00