qemu-patch-raspberry4/target-arm
Edgar E. Iglesias aaa1f954d4 target-arm: A64: Create Instruction Syndromes for Data Aborts
Add support for generating the ISS (Instruction Specific Syndrome) for
Data Abort exceptions taken from AArch64.
These syndromes are used by hypervisors for example to trap and emulate
memory accesses.

We save the decoded data out-of-band with the TBs at translation time.
When exceptions hit, the extra data attached to the TB is used to
recreate the state needed to encode instruction syndromes.
This avoids the need to emit moves with every load/store.

Based on a suggestion from Peter Maydell.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1462464601-10888-2-git-send-email-edgar.iglesias@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-06 16:59:28 +01:00
..
arch_dump.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
arm-powerctl.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
arm-powerctl.h ARM: Factor out ARM on/off PSCI control functions 2016-05-12 13:22:28 +01:00
arm-semi.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
arm_ldst.h cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
cpu-qom.h target-arm: make cpu-qom.h not target specific 2016-05-19 13:08:04 +02:00
cpu.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
cpu.h target-arm: A64: Create Instruction Syndromes for Data Aborts 2016-06-06 16:59:28 +01:00
cpu64.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
crypto_helper.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
gdbstub64.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper-a64.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
helper-a64.h target-arm: A64: Implement CRC instructions 2014-06-09 16:06:12 +01:00
helper.c target-arm: Add the HSTR_EL2 register 2016-06-06 16:59:28 +01:00
helper.h target-arm: Implement MRS (banked) and MSR (banked) instructions 2016-03-16 17:05:58 +00:00
internals.h arm: move arm_log_exception into .c file 2016-05-19 16:42:29 +02:00
iwmmxt_helper.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
kvm-consts.h all: Clean up includes 2016-02-23 12:43:05 +00:00
kvm-stub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
kvm32.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
kvm64.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm_arm.h arm: enhance kvm_arm_create_scratch_host_vcpu 2016-03-30 17:27:24 +01:00
machine.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
Makefile.objs ARM: Factor out ARM on/off PSCI control functions 2016-05-12 13:22:28 +01:00
monitor.c arm: implement query-gic-capabilities 2016-03-30 17:27:24 +01:00
neon_helper.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
op_addsub.h Correct spelling of licensed 2011-07-23 11:26:12 -05:00
op_helper.c target-arm: A64: Create Instruction Syndromes for Data Aborts 2016-06-06 16:59:28 +01:00
psci.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
translate-a64.c target-arm: A64: Create Instruction Syndromes for Data Aborts 2016-06-06 16:59:28 +01:00
translate.c target-arm: A64: Create Instruction Syndromes for Data Aborts 2016-06-06 16:59:28 +01:00
translate.h target-arm: A64: Create Instruction Syndromes for Data Aborts 2016-06-06 16:59:28 +01:00