diff options
-rw-r--r-- | sim/arm/ChangeLog | 5 | ||||
-rw-r--r-- | sim/arm/armsupp.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog index 5c031ab..ee7b652 100644 --- a/sim/arm/ChangeLog +++ b/sim/arm/ChangeLog @@ -1,3 +1,8 @@ +2001-05-08 Jens-Christian Lache <lache@tu-harburg.de> + + * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to + determine rocesor mode. + 2001-04-18 matthew green <mrg@redhat.com> * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes. 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); |