qemu-e2k/target-arm
Peter Maydell e2f90565e7 target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.

For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
2014-01-08 19:07:21 +00:00
..
arm-semi.c
cpu64.c target-arm: A64: add set_pc cpu method 2013-12-17 19:42:31 +00:00
cpu-qom.h
cpu.c target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
cpu.h target-arm: Widen exclusive-access support struct fields to 64 bits 2014-01-08 19:07:20 +00:00
crypto_helper.c
gdbstub64.c target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
gdbstub.c
helper-a64.c target-arm: A64: add support for 1-src CLS insn 2013-12-17 20:12:51 +00:00
helper-a64.h target-arm: A64: add support for 1-src CLS insn 2013-12-17 20:12:51 +00:00
helper.c target-arm: Widen thread-local register state fields to 64 bits 2014-01-07 19:17:59 +00:00
helper.h target-arm: A64: add stubs for a64 specific helpers 2013-12-17 19:42:32 +00:00
iwmmxt_helper.c
kvm32.c
kvm64.c target-arm: Add minimal KVM AArch64 support 2013-12-17 19:42:30 +00:00
kvm_arm.h
kvm-consts.h target-arm: Update generic cpreg code for AArch64 2014-01-04 22:15:44 +00:00
kvm-stub.c
kvm.c target-arm: Add minimal KVM AArch64 support 2013-12-17 19:42:30 +00:00
machine.c target-arm: Widen exclusive-access support struct fields to 64 bits 2014-01-08 19:07:20 +00:00
Makefile.objs target-arm: A64: add stubs for a64 specific helpers 2013-12-17 19:42:32 +00:00
neon_helper.c
op_addsub.h
op_helper.c
translate-a64.c target-arm: A64: Fix vector register access on bigendian hosts 2014-01-08 19:07:21 +00:00
translate.c target-arm: Widen exclusive-access support struct fields to 64 bits 2014-01-08 19:07:20 +00:00
translate.h target-arm: Remove ARMCPU/CPUARMState from cpregs APIs used by decoder 2014-01-07 19:17:58 +00:00