From e6c8fc07b4fce0729bb747770756835f4b0ca7f4 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Tue, 23 Feb 2016 15:36:44 +0000 Subject: target-arm: Add Hyp mode checks to bad_mode_switch() We don't actually support Hyp mode yet, but add the correct checks for it to the bad_mode_switch() function for completeness. Signed-off-by: Peter Maydell Reviewed-by: Sergey Fedorov Message-id: 1455556977-3644-8-git-send-email-peter.maydell@linaro.org --- target-arm/helper.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'target-arm') diff --git a/target-arm/helper.c b/target-arm/helper.c index 57cc8790c8..c43d66fd8d 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -5218,6 +5218,9 @@ static int bad_mode_switch(CPUARMState *env, int mode) * allows FIQ mode to be Secure-only. (In v8 this doesn't exist.) */ return 0; + case ARM_CPU_MODE_HYP: + return !arm_feature(env, ARM_FEATURE_EL2) + || arm_current_el(env) < 2 || arm_is_secure(env); case ARM_CPU_MODE_MON: return !arm_is_secure(env); default: -- cgit v1.2.1