diff options
author | Andrew Cagney <cagney@redhat.com> | 1998-02-17 04:06:38 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1998-02-17 04:06:38 +0000 |
commit | fbb8b6b9abf5890f5b88b114a88cdf895b6ada96 (patch) | |
tree | 6f602eb34e6e9cb47bce68625f9dd568cde93d15 /sim/tic80 | |
parent | c5efcf3c85119815c96867cb08058a00fa47e1b7 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | sim/tic80/sim-calls.c | 12 |
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; } |