From 5f79eb72c24bb79e981896542831374b54fb96ba Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 29 Sep 2010 15:47:45 +0000 Subject: [PATCH] * rx.c (decode_opcode: RXO_int): Only break out of the emulation loop if rx_syscall() does not return a RX_STEPPED result. --- sim/rx/ChangeLog | 5 +++++ sim/rx/rx.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog index ed363dafca2..4da59659d4a 100644 --- a/sim/rx/ChangeLog +++ b/sim/rx/ChangeLog @@ -1,3 +1,8 @@ +2010-09-29 Nick Clifton + + * 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 * rx.c (decode_opcode): Add cycle information for RXO_smovu. diff --git a/sim/rx/rx.c b/sim/rx/rx.c index 17f5b46f4af..247d6247ad9 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 { -- 2.39.2