From dac07255f9d1ebda4c5cf7207781ce1d6e07562c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 8 May 2001 08:28:28 +0000 Subject: Check Mode not Bank in order to determine rocesor mode. --- sim/arm/ChangeLog | 5 +++++ sim/arm/armsupp.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'sim') 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 + + * 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 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); -- cgit v1.1