target-arm: Implement AArch64 SPSR_EL1
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 15 Apr 2014 18:18:43 +0000 (19:18 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 17 Apr 2014 20:34:04 +0000 (21:34 +0100)
commita65f1de982302f5c33f668ad25a120eba7993d37
tree68af19a05242c14ebb938b889a9f5be3728fdb94
parentf502cfc207ff288ec1f3dac10024c51ffe64a65d
target-arm: Implement AArch64 SPSR_EL1

Implement the AArch64 SPSR_EL1. For compatibility with how KVM
handles SPSRs and with the architectural mapping between AArch32
and AArch64, we put this in the banked_spsr[] array in the slot
that is used for SVC in AArch32. This means we need to extend the
array from uint32_t to uint64_t, which requires some reworking
of the 32 bit KVM save/restore code.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
target-arm/cpu.h
target-arm/helper.c
target-arm/kvm32.c
target-arm/kvm64.c
target-arm/machine.c