Le 4/27/21 à 9:26 PM, Philippe Mathieu-Daudé a écrit :
This series fixes link failure when building either the leon3 machine or the sun4m ones. The problem is we have hardware specific code in the architectural translation code. Move this code to hw/sparc/. The link failures can be reproduced doing: $ echo CONFIG_LEON3=y > default-configs/devices/sparc-softmmu.mak $ configure --without-default-devices $ ninja qemu-system-sparc
Indeed: libqemu-sparc-softmmu.fa.p/target_sparc_win_helper.c.o: \ In function `cpu_put_psr': xxx/qemu/build/../target/sparc/win_helper.c:91: \ undefined reference to `cpu_check_irqs' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
$ ./qemu-system-sparc -M leon3 -S or: $ echo CONFIG_SUN4M=y > default-configs/devices/sparc-softmmu.mak Philippe Mathieu-Daudé (2): hw/sparc: Allow building the leon3 machine stand-alone hw/sparc: Allow building without the leon3 machine target/sparc/cpu.h | 6 ---- hw/sparc/irq.c | 61 +++++++++++++++++++++++++++++++++++++ hw/sparc/leon3.c | 37 +++++++++++++++++++++- hw/sparc/sun4m.c | 32 ------------------- target/sparc/int32_helper.c | 37 ---------------------- hw/sparc/meson.build | 1 + hw/sparc/trace-events | 2 ++ target/sparc/trace-events | 4 --- 8 files changed, 100 insertions(+), 80 deletions(-) create mode 100644 hw/sparc/irq.c