aboutsummaryrefslogtreecommitdiff
path: root/sim/tic80
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-02-17 04:06:38 +0000
committerAndrew Cagney <cagney@redhat.com>1998-02-17 04:06:38 +0000
commitfbb8b6b9abf5890f5b88b114a88cdf895b6ada96 (patch)
tree6f602eb34e6e9cb47bce68625f9dd568cde93d15 /sim/tic80
parentc5efcf3c85119815c96867cb08058a00fa47e1b7 (diff)
downloadgdb-fbb8b6b9abf5890f5b88b114a88cdf895b6ada96.zip
gdb-fbb8b6b9abf5890f5b88b114a88cdf895b6ada96.tar.gz
gdb-fbb8b6b9abf5890f5b88b114a88cdf895b6ada96.tar.bz2
For sim_fetch_register / sim_store_register: Add LENGTH parameter,
return actual size of register, 0 if not applicable, -1 of legacy implementation.
Diffstat (limited to 'sim/tic80')
-rw-r--r--sim/tic80/ChangeLog5
-rw-r--r--sim/tic80/sim-calls.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/sim/tic80/ChangeLog b/sim/tic80/ChangeLog
index 91d6685..3c2258a 100644
--- a/sim/tic80/ChangeLog
+++ b/sim/tic80/ChangeLog
@@ -1,3 +1,8 @@
+Tue Feb 17 12:50:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-calls.c (sim_store_register, sim_fetch_register): Pass in
+ length parameter. Return -1.
+
Fri Feb 13 17:11:22 1998 Michael Meissner <meissner@cygnus.com>
* insns ({get,set}_fp_reg): Tic80 floating point is little endian,
diff --git a/sim/tic80/sim-calls.c b/sim/tic80/sim-calls.c
index 310dc70..b3130df 100644
--- a/sim/tic80/sim-calls.c
+++ b/sim/tic80/sim-calls.c
@@ -132,8 +132,8 @@ sim_close (SIM_DESC sd, int quitting)
#define Rn_REGNUM 31 /* Last General Purpose Register - for sim */
#define An_REGNUM A3_REGNUM /* Last Accumulator register - for sim */
-void
-sim_fetch_register (SIM_DESC sd, int regnr, unsigned char *buf)
+int
+sim_fetch_register (SIM_DESC sd, int regnr, unsigned char *buf, int length)
{
if (regnr == R0_REGNUM)
memset (buf, 0, sizeof (unsigned32));
@@ -147,12 +147,12 @@ sim_fetch_register (SIM_DESC sd, int regnr, unsigned char *buf)
*(unsigned64*)buf = H2T_8 (STATE_CPU (sd, 0)->acc[regnr - A0_REGNUM]);
else
sim_io_error (sd, "sim_fetch_register - unknown register nr %d", regnr);
- return;
+ return -1;
}
-void
-sim_store_register (SIM_DESC sd, int regnr, unsigned char *buf)
+int
+sim_store_register (SIM_DESC sd, int regnr, unsigned char *buf, int length)
{
if (regnr >= R0_REGNUM && regnr <= Rn_REGNUM)
STATE_CPU (sd, 0)->reg[regnr - R0_REGNUM] = T2H_4 (*(unsigned32*)buf);
@@ -164,7 +164,7 @@ sim_store_register (SIM_DESC sd, int regnr, unsigned char *buf)
STATE_CPU (sd, 0)->acc[regnr - A0_REGNUM] = T2H_8 (*(unsigned64*)buf);
else
sim_io_error (sd, "sim_store_register - unknown register nr %d", regnr);
- return;
+ return -1;
}