aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/rx/ChangeLog5
-rw-r--r--sim/rx/rx.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog
index ed363da..4da5965 100644
--- a/sim/rx/ChangeLog
+++ b/sim/rx/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-29 Nick Clifton <nickc@redhat.com>
+
+ * rx.c (decode_opcode: RXO_int): Only break out of the emulation
+ loop if rx_syscall() does not return a RX_STEPPED result.
+
2010-09-23 Kevin Buettner <kevinb@redhat.com>
* rx.c (decode_opcode): Add cycle information for RXO_smovu.
diff --git a/sim/rx/rx.c b/sim/rx/rx.c
index 17f5b46..247d624 100644
--- a/sim/rx/rx.c
+++ b/sim/rx/rx.c
@@ -1232,7 +1232,9 @@ decode_opcode ()
v = GS ();
if (v == 255)
{
- DO_RETURN (rx_syscall (regs.r[5]));
+ int rc = rx_syscall (regs.r[5]);
+ if (! RX_STEPPED (rc))
+ DO_RETURN (rc);
}
else
{