This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] sim: avr: switch to common sim-reg


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=807eaf04cb4ba3c1e5529069ac78af6d9969a5b0

commit 807eaf04cb4ba3c1e5529069ac78af6d9969a5b0
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Nov 21 21:12:59 2015 -0800

    sim: avr: switch to common sim-reg
    
    This is not entirely useful as avr doesn't (yet) store its register
    state in the cpu state, but it does allow for switching to the common
    code for these functions.

Diff:
---
 sim/avr/ChangeLog |  8 ++++++++
 sim/avr/interp.c  | 10 ++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/sim/avr/ChangeLog b/sim/avr/ChangeLog
index 0f52474..410caca 100644
--- a/sim/avr/ChangeLog
+++ b/sim/avr/ChangeLog
@@ -1,3 +1,11 @@
+2015-11-21  Mike Frysinger  <vapier@gentoo.org>
+
+	* interp.c (sim_store_register): Rename to ...
+	(avr_reg_store): ... this.  Adjust signature.
+	(sim_fetch_register): Rename to ...
+	(avr_reg_fetch): ... this.  Adjust signature.
+	(sim_open): Call CPU_REG_FETCH and CPU_REG_STORE.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.
diff --git a/sim/avr/interp.c b/sim/avr/interp.c
index 0b84c3b..48d2195 100644
--- a/sim/avr/interp.c
+++ b/sim/avr/interp.c
@@ -1604,8 +1604,8 @@ sim_read (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size)
     }
 }
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+avr_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   if (rn < 32 && length == 1)
     {
@@ -1633,8 +1633,8 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
   return 0;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+avr_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   if (rn < 32 && length == 1)
     {
@@ -1747,6 +1747,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = avr_reg_fetch;
+      CPU_REG_STORE (cpu) = avr_reg_store;
       CPU_PC_FETCH (cpu) = avr_pc_get;
       CPU_PC_STORE (cpu) = avr_pc_set;
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]