This patchset contains a set of GLUE updates to enable switching between so-called A/UX mode and classic mode which is required to allow the q800 machine to boot both Linux/NetBSD and MacOS.
Patch 1 updates the comment for the VIA1B_vMystery bit indicating that VIA1 port B bit 6 is used to switch between A/UX and classic mode. Patch 2 moves the VIA1 IRQ from level 1 to level 6: this is because in its current configuration the q800 machine is statically wired in A/UX mode except for VIA1 which is currently still wired according to classic mode. Patch 3 starts the process of abstracting the CPU IRQ levels from the GPIO pins by using a set of numbered GPIO defines and using these to map to the corresponding CPU IRQs accordingly. Patches 4 and 5 add a GPIO to VIA1 so that updates to the VIA1B_vMystery bit will set the auxmode variable in the GLUE device to facilitate dynamic CPU IRQ routing. Patches 6 and 7 adjust the CPU IRQ routing in GLUE_set_irq() so that the incoming IRQs are mapped to the appropriate CPU IRQ levels dynamically based upon the auxmode variable. Finally patch 8 adds an NMI handler which can be used to invoke the Quadra's programmer switch from the monitor for debugging. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Mark Cave-Ayland (8): mac_via: update comment for VIA1B_vMystery bit q800: move VIA1 IRQ from level 1 to level 6 q800: use GLUE IRQ numbers instead of IRQ level for GLUE IRQs mac_via: add GPIO for A/UX mode q800: wire up auxmode GPIO to GLUE q800: route SONIC on-board Ethernet IRQ via nubus IRQ 9 in classic mode q800: wire up remaining IRQs in classic mode q800: add NMI handler hw/m68k/q800.c | 174 +++++++++++++++++++++++++++++++++++++- hw/misc/mac_via.c | 22 +++++ hw/misc/trace-events | 1 + include/hw/misc/mac_via.h | 1 + 4 files changed, 194 insertions(+), 4 deletions(-) -- 2.20.1