diff options
author | Andrew Cagney <cagney@redhat.com> | 1997-09-04 10:08:44 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1997-09-04 10:08:44 +0000 |
commit | 6dbaff8f6067e91995adc90e5c8939de41c56e9a (patch) | |
tree | f71cef520e051d5d508c23d7b8f7540626c2e97d /sim/tic80 | |
parent | a34abff813f4fdd5f289ea45de9e874e31e7edf3 (diff) | |
download | binutils-6dbaff8f6067e91995adc90e5c8939de41c56e9a.tar.gz binutils-6dbaff8f6067e91995adc90e5c8939de41c56e9a.tar.bz2 binutils-6dbaff8f6067e91995adc90e5c8939de41c56e9a.zip |
Finish implementation of sim-memopt.
Use in d30v and tic80.
Make available a generic sim_read, sim_write implementation.
Diffstat (limited to 'sim/tic80')
-rw-r--r-- | sim/tic80/ChangeLog | 6 | ||||
-rw-r--r-- | sim/tic80/Makefile.in | 1 | ||||
-rw-r--r-- | sim/tic80/sim-calls.c | 47 |
3 files changed, 21 insertions, 33 deletions
diff --git a/sim/tic80/ChangeLog b/sim/tic80/ChangeLog index 6a5102b042b..eed5ccbf11e 100644 --- a/sim/tic80/ChangeLog +++ b/sim/tic80/ChangeLog @@ -1,3 +1,9 @@ +Thu Sep 4 17:45:14 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * sim-calls.c (sim_open): Add memory before parsing arguments. + (sim_read): Delete, replace with sim-hrw. + (sim_write): Delete, replace with sim-hrw. + Thu Sep 4 10:48:57 1997 Andrew Cagney <cagney@b1.cygnus.com> * sim-calls.c (sim_open): Use sim_do_command to add memory, only diff --git a/sim/tic80/Makefile.in b/sim/tic80/Makefile.in index f15b68f969b..5a0a643b561 100644 --- a/sim/tic80/Makefile.in +++ b/sim/tic80/Makefile.in @@ -16,6 +16,7 @@ SIM_OBJS = sim-endian.o sim-bits.o sim-config.o \ sim-events.o \ sim-core.o \ sim-hload.o \ + sim-hrw.o \ sim-io.o \ sim-utils.o \ sim-load.o \ diff --git a/sim/tic80/sim-calls.c b/sim/tic80/sim-calls.c index 7d4c6a9f915..55f04964da1 100644 --- a/sim/tic80/sim-calls.c +++ b/sim/tic80/sim-calls.c @@ -50,11 +50,25 @@ sim_open (SIM_OPEN_KIND kind, struct _bfd *abfd, char **argv) { + char *buf; SIM_DESC sd = sim_state_alloc (kind, callback); if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK) return 0; +#define TIC80_MEM_START 0x2000000 +#define TIC80_MEM_SIZE 0x100000 + + /* main memory */ + asprintf (&buf, "memory region 0x%lx,0x%lx", + TIC80_MEM_START, TIC80_MEM_SIZE); + sim_do_command (sd, buf); + free (buf); + /* interrupt memory */ + sim_do_command (sd, "memory region 0x1010000,0x1000"); + /* some memory at zero */ + sim_do_command (sd, "memory region 0,0x100000"); + /* getopt will print the error message so we just have to exit if this fails. FIXME: Hmmm... in the case of gdb we need getopt to call print_filtered. */ @@ -92,23 +106,6 @@ sim_open (SIM_OPEN_KIND kind, return 0; } -#define TIC80_MEM_START 0x2000000 -#define TIC80_MEM_SIZE 0x100000 - - if (!STATE_MEMOPT_P (sd)) - { - char *buf; - /* main memory */ - asprintf (&buf, "memory region 0x%lx,0x%lx", - TIC80_MEM_START, TIC80_MEM_SIZE); - sim_do_command (sd, buf); - free (buf); - /* interrupt memory */ - sim_do_command (sd, "memory region 0x1010000,0x1000"); - /* some memory at zero */ - sim_do_command (sd, "memory region 0,0x100000"); - } - /* FIXME: for now */ return sd; } @@ -123,22 +120,6 @@ sim_close (SIM_DESC sd, int quitting) } -int -sim_read (SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length) -{ - return sim_core_read_buffer (sd, NULL, sim_core_write_map, - buf, mem, length); -} - - -int -sim_write (SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length) -{ - return sim_core_write_buffer (sd, NULL, sim_core_write_map, - buf, mem, length); -} - - /* FIXME - these magic numbers need to be moved elsewhere */ #define SP_REGNUM 1 /* Contains address of top of stack */ |