diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-11-21 21:12:59 -0800 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-11-22 00:53:23 -0500 |
commit | 807eaf04cb4ba3c1e5529069ac78af6d9969a5b0 (patch) | |
tree | 1b5dd027f61901b45d14d99acc358af8dab6b159 /sim/avr/interp.c | |
parent | 6cc98856315993e8723fc2c6a2baabd8dc7fd360 (diff) | |
download | binutils-807eaf04cb4ba3c1e5529069ac78af6d9969a5b0.zip binutils-807eaf04cb4ba3c1e5529069ac78af6d9969a5b0.tar.gz binutils-807eaf04cb4ba3c1e5529069ac78af6d9969a5b0.tar.bz2 |
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.
Diffstat (limited to 'sim/avr/interp.c')
-rw-r--r-- | sim/avr/interp.c | 10 |
1 files changed, 6 insertions, 4 deletions
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; } |