aboutsummaryrefslogtreecommitdiff
path: root/hw/mips/jazz.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2019-12-01 21:26:59 +0100
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-07-02 17:35:08 +0200
commita13bfa5a056b2ffe5f2ce71170c15772fa3b2cda (patch)
tree097f0927db7de51fa8094a3f972bb6cf671b9278 /hw/mips/jazz.c
parentb1600ff19553c7acfe10b43d4f50331deff876d5 (diff)
hw/mips/jazz: Map the UART devices unconditionally
When using the Magnum ARC firmware we can see accesses to the UART1 being rejected, because the device is not mapped: $ qemu-system-mips64el -M magnum -d guest_errors,unimp -bios NTPROM.RAW Invalid access at addr 0x80007004, size 1, region '(null)', reason: rejected Invalid access at addr 0x80007001, size 1, region '(null)', reason: rejected Invalid access at addr 0x80007002, size 1, region '(null)', reason: rejected Invalid access at addr 0x80007003, size 1, region '(null)', reason: rejected Invalid access at addr 0x80007004, size 1, region '(null)', reason: rejected Since both UARTs are present (soldered on the board) regardless of whether there are character devices connected, map them unconditionally. (This code pre-dated commit 12051d82f004 which made it safe to pass NULL in as a chardev to serial devices.) Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210629053704.2584504-1-f4bug@amsat.org>
Diffstat (limited to 'hw/mips/jazz.c')
-rw-r--r--hw/mips/jazz.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c
index ee1789183e..d6183e1882 100644
--- a/hw/mips/jazz.c
+++ b/hw/mips/jazz.c
@@ -361,16 +361,12 @@ static void mips_jazz_init(MachineState *machine,
memory_region_add_subregion(address_space, 0x80005000, i8042);
/* Serial ports */
- if (serial_hd(0)) {
- serial_mm_init(address_space, 0x80006000, 0,
- qdev_get_gpio_in(rc4030, 8), 8000000 / 16,
- serial_hd(0), DEVICE_NATIVE_ENDIAN);
- }
- if (serial_hd(1)) {
- serial_mm_init(address_space, 0x80007000, 0,
- qdev_get_gpio_in(rc4030, 9), 8000000 / 16,
- serial_hd(1), DEVICE_NATIVE_ENDIAN);
- }
+ serial_mm_init(address_space, 0x80006000, 0,
+ qdev_get_gpio_in(rc4030, 8), 8000000 / 16,
+ serial_hd(0), DEVICE_NATIVE_ENDIAN);
+ serial_mm_init(address_space, 0x80007000, 0,
+ qdev_get_gpio_in(rc4030, 9), 8000000 / 16,
+ serial_hd(1), DEVICE_NATIVE_ENDIAN);
/* Parallel port */
if (parallel_hds[0])