qemu-e2k/target-arm
Peter Maydell 3960c336ad target-arm: Avoid buffer overrun on UNPREDICTABLE ldrd/strd
A LDRD or STRD where rd is not an even number is UNPREDICTABLE.
We were letting this fall through, which is OK unless rd is 15,
in which case we would attempt to do a load_reg or store_reg
to a nonexistent r16 for the second half of the double-word.
Catch the odd-numbered-rd cases and UNDEF them instead.

To do this we rearrange the structure of the code a little
so we can put the UNDEF catches at the top before we've
allocated TCG temporaries.

Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1431348973-21315-1-git-send-email-peter.maydell@linaro.org
2015-05-29 11:29:00 +01:00
..
arm_ldst.h
arm-semi.c
cpu64.c target-arm: cpu64: Add support for Cortex-A53 2015-05-18 16:41:08 +01:00
cpu-qom.h
cpu.c target-arm: Update interrupt handling to use target EL 2015-05-29 11:28:51 +01:00
cpu.h target-arm: Move TB flags down to fill gap 2015-05-29 11:28:53 +01:00
crypto_helper.c
gdbstub64.c
gdbstub.c
helper-a64.c target-arm: Update interrupt handling to use target EL 2015-05-29 11:28:51 +01:00
helper-a64.h
helper.c target-arm: Add AArch64 CPTR registers 2015-05-29 11:28:52 +01:00
helper.h target-arm: Add exception target el infrastructure 2015-05-29 11:28:50 +01:00
internals.h target-arm: Move setting of exception info into tlb_fill 2015-05-29 11:28:51 +01:00
iwmmxt_helper.c
kvm32.c target-arm: kvm: save/restore mp state 2015-04-01 17:57:30 +01:00
kvm64.c target-arm: kvm64 fix save/restore of SPSR regs 2015-04-01 17:57:30 +01:00
kvm_arm.h target-arm: kvm: save/restore mp state 2015-04-01 17:57:30 +01:00
kvm-consts.h
kvm-stub.c
kvm.c kvm: add support for memory transaction attributes 2015-04-30 16:55:32 +02:00
machine.c
Makefile.objs
neon_helper.c
op_addsub.h
op_helper.c target-arm: Add WFx instruction trap support 2015-05-29 11:28:53 +01:00
psci.c
translate-a64.c target-arm: Don't halt on WFI unless we don't have any work 2015-05-29 11:28:53 +01:00
translate.c target-arm: Avoid buffer overrun on UNPREDICTABLE ldrd/strd 2015-05-29 11:29:00 +01:00
translate.h target-arm: Extend FP checks to use an EL 2015-05-29 11:28:53 +01:00