unicorn/qemu/target-arm
Peter Maydell 13db196792
target-arm: Correct "preferred return address" for cpreg access exceptions
The architecture defines that when taking an exception trying to
access a coprocessor register, the "preferred return address" for
the exception is the address of the instruction that caused the
exception. Correct an off-by-4 error which meant we were returning
the address after the instruction for traps which happened because
of a failure of a runtime access-check function on an AArch32
register. (Traps caused by translate-time checkable permissions
failures had the correct address, as did traps on AArch64 registers.)

This fixes https://bugs.launchpad.net/qemu/+bug/1463338

Backports commit 3977ee5d7a9f2e3664dd8b233f3224694e23b62b from qemu
2018-02-17 15:22:42 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu64.c target-arm: Fix REVIDR reset value 2018-02-13 14:24:08 -05:00
cpu-qom.h arm: Add has-mpu property 2018-02-17 15:22:42 -05:00
cpu.c arm: Add has-mpu property 2018-02-17 15:22:42 -05:00
cpu.h target-arm/cpu.h: remove pending_exception 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 arm: helper: rename get_phys_addr_mpu 2018-02-17 15:22:42 -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_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
unicorn.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00