From: Sergey Fedorov <[email protected]>

Reject switching to monitor mode from non-secure state.

Signed-off-by: Sergey Fedorov <[email protected]>
Signed-off-by: Fabian Aggeler <[email protected]>
Signed-off-by: Greg Bellows <[email protected]>
Reviewed-by: Edgar E. Iglesias <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
---
 target-arm/helper.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target-arm/helper.c b/target-arm/helper.c
index d837820..c36ee6a 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -3531,6 +3531,8 @@ static int bad_mode_switch(CPUARMState *env, int mode)
     case ARM_CPU_MODE_IRQ:
     case ARM_CPU_MODE_FIQ:
         return 0;
+    case ARM_CPU_MODE_MON:
+        return !arm_is_secure(env);
     default:
         return 1;
     }
-- 
1.8.3.2


Reply via email to