This series is fixing issues I found when getting qemu to run "Micoport UNIX System V/386, v 2.1" (ca 1987), although most of the patches are completely independent of each other.
Changes since v2 and v3: - Drop the -no-spurious-interrupts patch. (It might still be useful as an end-user workaround for other potential interrupt bugs, but I'm not going to push for it.) - Add a completely new patch to fix for how the master i8259 handles IRQ2 when the original interrupt (say IRQ14) is dynamically masked off in the slave via the IMR register. This is supported by a test program I wrote. There are probably some tweaks still desired (KVM at least), but I'm fairly confident this basic approach is correct. - Squash in the remaining two small v3 incremental patches into v2. - [applied] The mov to/from crN/drN patch has been applied (and not reverted), and is no longer included with this series. Matthew Ogilvie (5): fix some debug printf format strings vl: fix -hdachs/-hda argument order parsing issues qemu-options.hx: mention retrace= VGA option vga: add some optional CGA compatibility hacks i8259: fix dynamically masking slave IRQs with IMR register hw/cirrus_vga.c | 4 ++-- hw/i8259.c | 15 ++++++++----- hw/i8259_common.c | 2 ++ hw/i8259_internal.h | 1 + hw/ide/cmd646.c | 5 +++-- hw/ide/via.c | 5 +++-- hw/pc.h | 4 ++++ hw/vga.c | 37 +++++++++++++++++++++++++------- qemu-options.hx | 27 ++++++++++++++++++++++- vl.c | 62 +++++++++++++++++++++++++++++++++++------------------ 10 files changed, 121 insertions(+), 41 deletions(-) -- 1.7.10.2.484.gcd07cc5