target-arm: Implement remaining illegal return event checks
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 21 Jan 2016 14:15:09 +0000 (14:15 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 21 Jan 2016 14:15:09 +0000 (14:15 +0000)
commite393f339af87da7210f6c86902b321df6a2e8bf5
treeda8a3f17655a7ea1db766a434bc2a800e10253b4
parent3809951bf61605974b91578c582de4da28f8ed07
target-arm: Implement remaining illegal return event checks

We already implement almost all the checks for the illegal
return events from AArch64 state described in the ARM ARM section
D1.11.2. Add the two missing ones:
 * return to EL2 when EL3 is implemented and SCR_EL3.NS is 0
 * return to Non-secure EL1 when EL2 is implemented and HCR_EL2.TGE is 1

(We don't implement external debug, so the case of "debug state exit
from EL0 using AArch64 state to EL0 using AArch32 state" doesn't apply
for QEMU.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
target-arm/op_helper.c