aboutsummaryrefslogtreecommitdiff
path: root/sim/arm/armsupp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/arm/armsupp.c')
-rw-r--r--sim/arm/armsupp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sim/arm/armsupp.c b/sim/arm/armsupp.c
index 2d0390d..99b6099 100644
--- a/sim/arm/armsupp.c
+++ b/sim/arm/armsupp.c
@@ -206,7 +206,8 @@ void
ARMul_FixCPSR (ARMul_State * state, ARMword instr, ARMword rhs)
{
state->Cpsr = ARMul_GetCPSR (state);
- if (state->Bank != USERBANK)
+ if (state->Mode != USER26MODE
+ && state->Mode != USER32MODE)
{ /* In user mode, only write flags */
if (BIT (16))
SETPSR_C (state->Cpsr, rhs);