Check Mode not Bank in order to determine rocesor mode.
authorNick Clifton <nickc@redhat.com>
Tue, 8 May 2001 08:28:28 +0000 (08:28 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 8 May 2001 08:28:28 +0000 (08:28 +0000)
sim/arm/ChangeLog
sim/arm/armsupp.c

index 5c031ab2766f47d40a4e733afef9f38a121dc625..ee7b6520624b45615ea251c1bb97660ed9c6f194 100644 (file)
@@ -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.
index 2d0390d1cbe6b99c11e8550c3f7fd9410b7ea8f7..99b6099b3c375c91fd7a1b13ce07461effd73a9c 100644 (file)
@@ -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);