diff options
Diffstat (limited to 'sim/arm/armemu.c')
-rw-r--r-- | sim/arm/armemu.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sim/arm/armemu.c b/sim/arm/armemu.c index f0a6103..6b963c7 100644 --- a/sim/arm/armemu.c +++ b/sim/arm/armemu.c @@ -1340,7 +1340,6 @@ ARMul_Emulate26 (register ARMul_State * state) { ARMword value; extern int SWI_vector_installed; - int in_thumb_mode; /* Hardware is allowed to optionally override this instruction and treat it as a breakpoint. Since @@ -1378,17 +1377,8 @@ ARMul_Emulate26 (register ARMul_State * state) } } - /* We must signal an abort to mark the next instruction as - invalid and in need of refetching. This is because if this - the instruction was a breakpoint inserted by the debugger, - the instruction could be changed back to its original value. - The abort however, will automatically reset the processor into - ARM mode, so we have to preserve the mode flag and resort it - after singalling the abort. */ - in_thumb_mode = TFLAG; - ARMul_Abort (state, ARMul_PrefetchAbortV); - ASSIGNT (in_thumb_mode); - + /* Force the next instruction to be refetched. */ + state->NextInstr = RESUME; break; } } |