* remote-sim.h (struct _bfd): Declare.

(sim_load): Return SIM_RC.  New arg `abfd'.
	(sim_create_inferior): Return SIM_RC.  Delete arg `start_address'.
This commit is contained in:
David Edelsohn
1997-04-17 09:19:45 +00:00
parent 87e43259f1
commit a1cb1f4b9c
2 changed files with 18 additions and 17 deletions

View File

@ -1,3 +1,9 @@
Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
* remote-sim.h (struct _bfd): Declare.
(sim_load): Return SIM_RC. New arg `abfd'.
(sim_create_inferior): Return SIM_RC. Delete arg `start_address'.
Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com> Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* remote-sim.h (sim_trace, sim_size): Make these global. They * remote-sim.h (sim_trace, sim_size): Make these global. They

View File

@ -50,6 +50,9 @@ typedef enum {
SIM_RC_OK = 1 SIM_RC_OK = 1
} SIM_RC; } SIM_RC;
/* The bfd struct, as an opaque type. */
struct _bfd;
/* Main simulator entry points. */ /* Main simulator entry points. */
/* Initialize the simulator. This function is called when the simulator /* Initialize the simulator. This function is called when the simulator
@ -57,9 +60,8 @@ typedef enum {
KIND specifies how the simulator will be used. Currently there are only KIND specifies how the simulator will be used. Currently there are only
two kinds: standalone and debug. two kinds: standalone and debug.
ARGV is passed from the command line and can be used to select whatever ARGV is passed from the command line and can be used to select whatever
run time options the simulator provides. run time options the simulator provides. It is the standard NULL
ARGV is the standard NULL terminated array of pointers, with argv[0] terminated array of pointers, with argv[0] being the program name.
being the program name.
The result is a descriptor that must be passed back to the other sim_foo The result is a descriptor that must be passed back to the other sim_foo
functions. */ functions. */
@ -73,22 +75,15 @@ SIM_DESC sim_open PARAMS ((SIM_OPEN_KIND kind, char **argv));
void sim_close PARAMS ((SIM_DESC sd, int quitting)); void sim_close PARAMS ((SIM_DESC sd, int quitting));
/* Load program PROG into the simulator. /* Load program PROG into the simulator.
Return non-zero if you wish the caller to handle it If ABFD is non-NULL, the bfd for the file has already been opened.
(it is done this way because most simulators can use gr_load_image, The result is a return code indicating success. */
but defining it as a callback seems awkward). */
int sim_load PARAMS ((SIM_DESC sd, char *prog, int from_tty)); SIM_RC sim_load PARAMS ((SIM_DESC sd, char *prog, struct _bfd *abfd, int from_tty));
/* Prepare to run the simulated program. /* Prepare to run the simulated program.
START_ADDRESS is, yes, you guessed it, the start address of the program. ARGV and ENV are NULL terminated lists of pointers. */
ARGV and ENV are NULL terminated lists of pointers.
Gdb will set the start address via sim_store_register as well, but
standalone versions of existing simulators are not set up to cleanly call
sim_store_register, so the START_ADDRESS argument is there as a
workaround. */
void sim_create_inferior PARAMS ((SIM_DESC sd, SIM_ADDR start_address, SIM_RC sim_create_inferior PARAMS ((SIM_DESC sd, char **argv, char **env));
char **argv, char **env));
/* Kill the running program. /* Kill the running program.
This may involve closing any open files and deleting any mmap'd areas. */ This may involve closing any open files and deleting any mmap'd areas. */
@ -113,8 +108,8 @@ void sim_fetch_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf));
void sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf)); void sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf));
/* Print some interesting information about the simulator. /* Print whatever statistics the simulator has collected.
VERBOSE is non-zero for the wordy version. */ VERBOSE is currently unused and must always be zero. */
void sim_info PARAMS ((SIM_DESC sd, int verbose)); void sim_info PARAMS ((SIM_DESC sd, int verbose));