qemu/target-arm
Peter Maydell c1e0371442 target-arm: ignore ELR_ELx[1] for exception return to 32-bit ARM mode
The architecture requires that for an exception return to AArch32 the
low bits of ELR_ELx are ignored when the PC is set from them:
 * if returning to Thumb mode, ignore ELR_ELx[0]
 * if returning to ARM mode, ignore ELR_ELx[1:0]

We were only squashing bit 0; also squash bit 1 if the SPSR T bit
indicates this is a return to ARM code.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2016-01-21 14:15:09 +00:00
..
arch_dump.c target-arm: dump-guest-memory: add vfp notes for arm 2016-01-15 14:55:16 +00:00
arm_ldst.h softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
arm-semi.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
cpu64.c target-arm: Use a single entry point for AArch64 and AArch32 exceptions 2016-01-21 14:15:08 +00:00
cpu-qom.h target-arm: Use a single entry point for AArch64 and AArch32 exceptions 2016-01-21 14:15:08 +00:00
cpu.c target-arm: Implement cpu_get_phys_page_attrs_debug 2016-01-21 14:15:07 +00:00
cpu.h target-arm: Properly support EL2 and EL3 in arm_el_is_aa64() 2016-01-21 14:15:08 +00:00
crypto_helper.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
gdbstub64.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
gdbstub.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
helper-a64.c target-arm: Move aarch64_cpu_do_interrupt() to helper.c 2016-01-21 14:15:08 +00:00
helper-a64.h target-arm: A64: Implement CRC instructions 2014-06-09 16:06:12 +01:00
helper.c target-arm: Fix wrong AArch64 entry offset for EL2/EL3 target 2016-01-21 14:15:08 +00:00
helper.h target-arm: Fix CPU breakpoint handling 2015-10-16 14:48:56 +01:00
internals.h target-arm: Use the right MMU index in arm_regime_using_lpae_format 2016-01-15 14:10:02 +00:00
iwmmxt_helper.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
kvm32.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
kvm64.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
kvm_arm.h target-arm: kvm - add support for HW assisted debug 2015-12-17 13:37:15 +00:00
kvm-consts.h target-arm/kvm64: Add cortex-a53 cpu support 2015-06-15 18:06:08 +01:00
kvm-stub.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
kvm.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
machine.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
Makefile.objs target-arm: support QMP dump-guest-memory 2016-01-15 14:40:25 +00: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: ignore ELR_ELx[1] for exception return to 32-bit ARM mode 2016-01-21 14:15:09 +00:00
psci.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
translate-a64.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
translate.c target-arm: Clean up includes 2016-01-18 16:33:32 +00:00
translate.h tcg: Remove gen_intermediate_code_pc 2015-10-07 20:36:52 +11:00