aboutsummaryrefslogtreecommitdiff
path: root/include
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 /include
parentc5efcf3c85119815c96867cb08058a00fa47e1b7 (diff)
downloadfsf-binutils-gdb-fbb8b6b9abf5890f5b88b114a88cdf895b6ada96.zip
fsf-binutils-gdb-fbb8b6b9abf5890f5b88b114a88cdf895b6ada96.tar.gz
fsf-binutils-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 'include')
-rw-r--r--include/remote-sim.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/include/remote-sim.h b/include/remote-sim.h
index a785437..a4480b4 100644
--- a/include/remote-sim.h
+++ b/include/remote-sim.h
@@ -180,15 +180,28 @@ int sim_read PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length)
int sim_write PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length));
-/* Fetch register REGNO and store the raw (target endian) value in
- BUF. */
+/* Fetch register REGNO storing its raw (target endian) value in the
+ LENGTH byte buffer BUF. Return the actual size of the register or
+ zero if REGNO is not applicable.
-void sim_fetch_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf));
+ Legacy implementations ignore LENGTH and always return -1.
+ If LENGTH does not match the size of REGNO no data is transfered
+ (the actual register size is still returned). */
-/* Store register REGNO from the raw (target endian) value in BUF. */
+int sim_fetch_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length));
-void sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf));
+
+/* Store register REGNO from the raw (target endian) value in BUF.
+ Return the actual size of the register or zero if REGNO is not
+ applicable.
+
+ Legacy implementations ignore LENGTH and always return -1.
+
+ If LENGTH does not match the size of REGNO no data is transfered
+ (the actual register size is still returned). */
+
+int sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length));
/* Print whatever statistics the simulator has collected.