A recent series [1] attempted to remove some PIC -> CPU interrupt indirections. This inadvertantly caused NULL qemu_irqs to be passed to the i8259 because the qemu_irqs aren't initialized at that time yet. This series provides a fix by initializing the qemu_irq of the respective south bridges before they are passed to i2859_init().
Furthermore -- as an optional extension -- this series also fixes some usability issues in the API for creating multifunction PCI devices. The series is structured as follows: The first three commits fix the regressions, the last two fix the public API for creating multifunction PCI devices. [1] https://lore.kernel.org/qemu-devel/20230302224058.43315-1-phi...@linaro.org/ Bernhard Beschow (5): hw/isa/vt82c686: Fix wiring of PIC -> CPU interrupt hw/alpha/dp264: Fix wiring of PIC -> CPU interrupt hw/ppc/prep: Fix wiring of PIC -> CPU interrupt hw/pci/pci: Remove multifunction parameter from pci_create_simple_multifunction() hw/pci/pci: Remove multifunction parameter from pci_new_multifunction() include/hw/pci/pci.h | 4 +--- hw/alpha/dp264.c | 8 +++++--- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 10 +++++----- hw/isa/vt82c686.c | 3 ++- hw/mips/boston.c | 3 +-- hw/mips/fuloong2e.c | 9 +++++---- hw/mips/malta.c | 2 +- hw/pci-host/sabre.c | 6 ++---- hw/pci/pci.c | 18 ++++++++++++------ hw/ppc/pegasos2.c | 9 +++++---- hw/ppc/prep.c | 4 +++- hw/sparc64/sun4u.c | 5 ++--- 13 files changed, 45 insertions(+), 38 deletions(-) -- 2.39.2