target-arm: Add utility function for checking AA32/64 state of an EL
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 26 Feb 2014 17:20:07 +0000 (17:20 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 26 Feb 2014 17:20:07 +0000 (17:20 +0000)
commit1f79ee32b556cad0b6db6f7c866ac4e6b4244cc1
treef59d2be3a908c066351cdbfad2692136b578dc35
parent34222fb8101298ead0e43766340843b469597580
target-arm: Add utility function for checking AA32/64 state of an EL

There are various situations where we need to behave differently
depending on whether a given exception level is in AArch64 or
AArch32 state. The state of the current exception level is stored
in env->aarch64, but there's no equivalent guest-visible architected
state bits for the status of the exception levels "above" the
current one which may still affect execution. At the moment we
only support EL1 (ie no EL2 or EL3) and insist that AArch64
capable CPUs run with EL1 in AArch64 state, but these may change
in the future, so abstract out the "what state is this?" check
into a utility function which can be enhanced later if necessary.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
target-arm/cpu.h