Tested with [1]: qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda \ debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"
It was possible to log in as root and `poweroff` the machine. Moreover, I ran: :$ make check Ok: 569 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 178 Timeout: 0 [1] https://people.debian.org/~aurel32/qemu/mips/ v3: The migration bug now gets fixed in gt64xxx_pci before any cleanup. As suggested by PMM the patch is based on commit e735b55a8c11. The code movement patch now moves the already fixed code. I might be a bit too conservative here by removing Philippe's Reviewed-By tag. As suggested by BALATON Zoltan, the redundant i8259[] attribute is now resolved immediately after the code movement. As a side effect, it also removes moved code which doesn't adhere to the coding style (local loop variable). To address BALATON Zoltan's comment and to reduce the number of required Reviewed-By's, only piix4_set_irq() is modified to expect own DeviceState paremeter. Up to v2, all remaining set_irq() functions were changed this way. The patch resolving piix4's singleton variable got split into two patches: One which resolves the singleton variable and one which replaces magic constants. The split patches should be more comprehensible. Suggested by BALATON Zoltan, I took a chance to resolve gt64120_register(), a method akin to the legacy init functions we're trying to get rid of. v2: isa/piix4: Fix PCI IRQ levels to be preserved in VMState isa/piix4: Resolve redundant i8259[] attribute Bernhard Beschow (7): hw/mips/gt64xxx_pci: Fix PCI IRQ levels to be preserved during migration malta: Move PCI interrupt handling from gt64xxx_pci to piix4 hw/isa/piix4: Resolve redundant i8259[] attribute hw/isa/piix4: Pass PIIX4State as opaque parameter for piix4_set_irq() hw/isa/piix4: Resolve global instance variable hw/isa/piix4: Replace some magic IRQ constants hw/mips/gt64xxx_pci: Resolve gt64120_register() hw/isa/piix4.c | 54 +++++++++++++++++++++-- hw/mips/gt64xxx_pci.c | 80 +++-------------------------------- hw/mips/malta.c | 17 ++++---- include/hw/mips/mips.h | 3 -- include/hw/southbridge/piix.h | 2 - 5 files changed, 65 insertions(+), 91 deletions(-) -- 2.35.1