forked from Imagelibrary/binutils-gdb
For sim_fetch_register / sim_store_register: Add LENGTH parameter,
return actual size of register, 0 if not applicable, -1 of legacy implementation.
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user