X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sim%2Fcommon%2Fsim-utils.h;h=661ac703b995c1c07d876fd605e76e639211193c;hb=6b4a89357a450b6d6bd517fe435bb15e17038f24;hp=0bacee42bc7d28a913856154f85256ebcb22c79d;hpb=e98fe4f7b54cbdf29aef9287bbb1bea8801dd05a;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/common/sim-utils.h b/sim/common/sim-utils.h index 0bacee42bc..661ac703b9 100644 --- a/sim/common/sim-utils.h +++ b/sim/common/sim-utils.h @@ -49,18 +49,30 @@ unsigned long sim_elapsed_time_since (SIM_ELAPSED_TIME start); /* Utilities for manipulating the load image. */ SIM_RC sim_analyze_program (SIM_DESC sd, char *prog_name, - struct _bfd *prog_bfd); + struct bfd *prog_bfd); -/* Load program PROG into the simulator. +/* Load program PROG into the simulator using the function DO_LOAD. If PROG_BFD is non-NULL, the file has already been opened. If VERBOSE_P is non-zero statistics are printed of each loaded section and the transfer rate (for consistency with gdb). + If LMA_P is non-zero the program sections are loaded at the LMA + rather than the VMA If this fails an error message is printed and NULL is returned. - If it succeeds the bfd is returned. */ + If it succeeds the bfd is returned. + NOTE: For historical reasons, older hardware simulators incorrectly + write the program sections at LMA interpreted as a virtual address. + This is still accommodated for backward compatibility reasons. */ + +typedef int sim_write_fn PARAMS ((SIM_DESC sd, SIM_ADDR mem, + unsigned char *buf, int length)); +struct bfd *sim_load_file (SIM_DESC sd, const char *myname, + host_callback *callback, char *prog, + struct bfd *prog_bfd, int verbose_p, + int lma_p, sim_write_fn do_load); + +/* Internal version of sim_do_command, include formatting */ +void sim_do_commandf (SIM_DESC sd, const char *fmt, ...); -struct _bfd *sim_load_file (SIM_DESC sd, const char *myname, - host_callback *callback, char *prog, - struct _bfd *prog_bfd, int verbose_p); /* These are defined in callback.c as cover functions to the vprintf callbacks. */ @@ -68,4 +80,11 @@ struct _bfd *sim_load_file (SIM_DESC sd, const char *myname, void sim_cb_printf (host_callback *, const char *, ...); void sim_cb_eprintf (host_callback *, const char *, ...); + +/* sim-basics.h defines a number of enumerations, convert each of them + to a string representation */ +const char *map_to_str (unsigned map); +const char *access_to_str (unsigned access); +const char *transfer_to_str (unsigned transfer); + #endif