On 10/26/20 6:34 PM, Paolo Bonzini wrote:
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);
The acceptance test fails. There is some odd reset order problem,
eventually related to this discussion "CPU reset handler priority":
https://www.mail-archive.com/qemu-devel@nongnu.org/msg686362.html
- } 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.
Yoshinori started to clean that here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg734135.html
rx62n is the SoC, rx-gdbsim.c instead includes the rx62n7 and rx62n8
machines.
Paolo