On 26/10/20 18:24, Alex Bennée wrote: > > Paolo Bonzini <pbonz...@redhat.com> writes: > >> The ROM loader state is global and not part of the MCU, and the >> BIOS is in machine->firmware. So just like the kernel case, >> load it in the board. >> >> Cc: Philippe Mathieu-Daudé <phi...@redhat.com> >> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> >> --- >> hw/rx/rx-gdbsim.c | 7 +++++++ >> hw/rx/rx62n.c | 9 --------- >> 2 files changed, 7 insertions(+), 9 deletions(-) >> >> diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c >> index 417ec0564b..040006c1c5 100644 >> --- a/hw/rx/rx-gdbsim.c >> +++ b/hw/rx/rx-gdbsim.c >> @@ -142,6 +142,13 @@ static void rx_gdbsim_init(MachineState *machine) >> /* Set dtb address to R1 */ >> RX_CPU(first_cpu)->env.regs[1] = SDRAM_BASE + dtb_offset; >> } >> + } else { >> + if (machine->firmware) { >> + rom_add_file_fixed(machine->firmware, RX62N_CFLASH_BASE, 0); >> + } else if (!qtest_enabled()) { >> + error_report("No bios or kernel specified"); >> + exit(1); >> + } >> } >> } >> >> diff --git a/hw/rx/rx62n.c b/hw/rx/rx62n.c >> index 6eb4eea700..17ec73fc7b 100644 >> --- a/hw/rx/rx62n.c >> +++ b/hw/rx/rx62n.c >> @@ -245,15 +245,6 @@ static void rx62n_realize(DeviceState *dev, Error >> **errp) >> rxc->rom_flash_size, &error_abort); >> memory_region_add_subregion(s->sysmem, RX62N_CFLASH_BASE, &s->c_flash); >> >> - if (!s->kernel) { >> - if (bios_name) { >> - rom_add_file_fixed(bios_name, RX62N_CFLASH_BASE, 0); >> - } else if (!qtest_enabled()) { >> - error_report("No bios or kernel specified"); >> - exit(1); >> - } >> - } >> - > > I'm confused because on the face of it these are two different models. > I'll defer to the domain expert on this one.
rx62n is the SoC, rx-gdbsim.c instead includes the rx62n7 and rx62n8 machines. Paolo