From: Ian Carmichael Date: Mon, 9 Feb 1998 23:53:33 +0000 (+0000) Subject: * Add hardware_init hook. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c88fae9adc45e64367b6651f451ce4440f1c9ec;p=binutils-gdb.git * Add hardware_init hook. --- diff --git a/sim/mips/configure.in b/sim/mips/configure.in index 5b3a1ca486b..a3b294abfda 100644 --- a/sim/mips/configure.in +++ b/sim/mips/configure.in @@ -201,7 +201,9 @@ AC_SUBST(sim_gen) case "${target}" in # start-sanitize-sky - mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ;; + mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ; + SIM_SUBTARGET="-DWITH_DEVICES=1 -DDEVICE_INIT=1";; + # end-sanitize-sky *) mips_extra_objs="" ;; esac diff --git a/sim/mips/interp.c b/sim/mips/interp.c index 9045004d728..da161828a08 100644 --- a/sim/mips/interp.c +++ b/sim/mips/interp.c @@ -252,6 +252,15 @@ interrupt_event (SIM_DESC sd, void *data) } +/*---------------------------------------------------------------------------*/ +/*-- Device registration hook -----------------------------------------------*/ +/*---------------------------------------------------------------------------*/ +static device_init(SIM_DESC sd) { +#ifdef DEVICE_INIT + extern void register_devices(SIM_DESC); + register_devices(sd); +#endif +} /*---------------------------------------------------------------------------*/ /*-- GDB simulator interface ------------------------------------------------*/ @@ -292,6 +301,8 @@ sim_open (kind, cb, abfd, argv) MEM_SIZE, /* actual size */ K0BASE); + device_init(sd); + /* 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. */