aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2021-10-20 14:41:25 +0100
committerLaurent Vivier <laurent@vivier.eu>2021-10-20 16:18:40 +0200
commit39950b16ecc21bce3bbea3fddcdf1aaefa0d6cef (patch)
treec3a7e768d7f11f7b43070e89cfc4ca59760f1043 /hw
parente976459b3b127838befaef57f1587770452a0827 (diff)
downloadqemu-39950b16ecc21bce3bbea3fddcdf1aaefa0d6cef.zip
qemu-39950b16ecc21bce3bbea3fddcdf1aaefa0d6cef.tar.gz
qemu-39950b16ecc21bce3bbea3fddcdf1aaefa0d6cef.tar.bz2
q800: move VIA1 IRQ from level 1 to level 6
On a Quadra 800 machine Linux sets via_alt_mapping to 1 and clears port B bit 6 to ensure that the VIA1 IRQ is delivered at level 6 rather than level 1. Even though QEMU doesn't yet emulate this behaviour, Linux still installs the VIA1 level 1 IRQ handler regardless of the value of via_alt_mapping which is why the kernel has been able to boot until now. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20211020134131.4392-3-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'hw')
-rw-r--r--hw/m68k/q800.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index fd48550..15f3067 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -284,7 +284,7 @@ static void q800_init(MachineState *machine)
sysbus = SYS_BUS_DEVICE(via1_dev);
sysbus_realize_and_unref(sysbus, &error_fatal);
sysbus_mmio_map(sysbus, 1, VIA_BASE);
- sysbus_connect_irq(sysbus, 0, qdev_get_gpio_in(glue, 0));
+ sysbus_connect_irq(sysbus, 0, qdev_get_gpio_in(glue, 5));
adb_bus = qdev_get_child_bus(via1_dev, "adb.0");
dev = qdev_new(TYPE_ADB_KEYBOARD);