This series is v2 of [1] ("[PATCH 0/5] Pegasos2 fixes and audio output support"). It makes PCI interrupt routing on the VIA south bridges more compliant to the PCI specification and adds partial implementation of the via-ac97 sound part enough to get audio output working on the ppc/pegasos2 machine.
All credits for implementing AC'97 support go to Zoltan who would like this series to be merged for QEMU 8.0. v2: * Rework PCI IRQ routing in the VIA south bridges * Use pci_set_irq() rather than via_isa_set_irq() in via-ac97 Testing done: * `make check` * `qemu-system-ppc -M pegasos2 -rtc base=localtime -device ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso -kernel morphos-3.17/boot.img` -> There is a nice sound when the Desktop becomes visible. * `qemu-system-ppc -M pegasos2 -bios pegasos2.rom -rtc base=localtime -device ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso` -> There is a nice sound when the Desktop becomes visible. * `qemu-system-ppc -M pegasos2 -bios pegasos2.rom -rtc base=localtime -device ati-vga,guest_hwcursor=true,romfile="" -cdrom morphos-3.17.iso -device usb-mouse -device usb-kbd` -> The machine hangs when audio is supposed to play while the mouse is moved. This behavior can also be reproduced in v1. [1] https://lore.kernel.org/qemu-devel/cover.1677004414.git.bala...@eik.bme.hu/ BALATON Zoltan (2): hw/audio/ac97: Split off some definitions to a header hw/audio/via-ac97: Basic implementation of audio playback Bernhard Beschow (3): hw/ppc/pegasos2: Initialize VT8231 PCI IRQ router hw/isa/vt82c686: Implement PCI IRQ routing hw/usb/vt82c686-uhci-pci: Use PCI IRQ routing hw/audio/ac97.h | 65 ++++++ include/hw/isa/vt82c686.h | 25 +++ hw/audio/ac97.c | 43 +--- hw/audio/via-ac97.c | 436 ++++++++++++++++++++++++++++++++++++- hw/isa/vt82c686.c | 46 +++- hw/ppc/pegasos2.c | 6 + hw/usb/vt82c686-uhci-pci.c | 12 - hw/audio/trace-events | 6 + 8 files changed, 580 insertions(+), 59 deletions(-) create mode 100644 hw/audio/ac97.h -- 2.39.2