diff options
author | Edgar E. Iglesias <edgar.iglesias@xilinx.com> | 2014-05-27 17:09:52 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-05-27 17:09:52 +0100 |
commit | 2a923c4dde779fc3e5a55886bfa4085e590cbc96 (patch) | |
tree | 89711b255a7ea964f4d0699f358ce7c5a0d09f94 /target-arm/op_helper.c | |
parent | 28c9457df08755ef7d98eb58b17e0e0898553b41 (diff) |
target-arm: A64: Introduce aarch64_banked_spsr_index()
Add aarch64_banked_spsr_index(), used to map an Exception Level
to an index in the banked_spsr array.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1400980132-25949-13-git-send-email-edgar.iglesias@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/op_helper.c')
-rw-r--r-- | target-arm/op_helper.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c index f120b027b4..c2b4bf0fd7 100644 --- a/target-arm/op_helper.c +++ b/target-arm/op_helper.c @@ -386,7 +386,8 @@ void HELPER(msr_i_pstate)(CPUARMState *env, uint32_t op, uint32_t imm) void HELPER(exception_return)(CPUARMState *env) { - uint32_t spsr = env->banked_spsr[0]; + unsigned int spsr_idx = aarch64_banked_spsr_index(1); + uint32_t spsr = env->banked_spsr[spsr_idx]; int new_el, i; if (env->pstate & PSTATE_SP) { |