diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog index 5c031ab276..ee7b652062 100644 --- a/sim/arm/ChangeLog +++ b/sim/arm/ChangeLog @@ -1,3 +1,8 @@ +2001-05-08 Jens-Christian Lache + + * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to + determine rocesor mode. + 2001-04-18 matthew green * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes. diff --git a/sim/arm/armsupp.c b/sim/arm/armsupp.c index 2d0390d1cb..99b6099b3c 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);