summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/mcore/ChangeLog6
-rw-r--r--sim/mcore/interp.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index 486ad1dda..140b96b24 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,3 +1,9 @@
+1999-05-17 Keith Seitz <keiths@cygnus.com>
+
+ * interp.c (NUM_MCORE_REGS): Increase by one to allow access to PC.
+ (sim_resume): Correct off by one instruction error when a breakpoint
+ is hit.
+
1999-05-08 Felix Lee <flee@cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index 5807f5de4..003f6976f 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -118,8 +118,8 @@ union
word asints [1]; /* but accessed larger... */
} cpu;
-#define LAST_VALID_CREG 12 /* only 0..12 implemented */
-#define NUM_MCORE_REGS (16 + 16 + LAST_VALID_CREG)
+#define LAST_VALID_CREG 32 /* only 0..12 implemented */
+#define NUM_MCORE_REGS (16 + 16 + LAST_VALID_CREG + 1)
int memcycles = 1;
@@ -840,6 +840,7 @@ sim_resume (sd, step, siggnal)
{
case 0x0: /* bkpt */
cpu.asregs.exception = SIGTRAP;
+ pc -= 2;
break;
case 0x1: /* sync */