On Sat, 4 Mar 2023, Bernhard Beschow wrote:
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()
I'd postopne the last two API change patches to the next release. Ideally
the device itself should know if it's multifunction or not and the board
instantiating it should not do anything different than instantiating a
single function device so we's only need pci_new or pci_create_simple
without multifunction parameter or variant. So my question is why do we
need these at all and could this be simplified more? But there's not
enough time to answer that now so I'd ask to leave these alone for now and
come back to this in next devel cycle.
The other 3 patches fix a breakaga in current master so can be considered
but I'd need to know a decision if this will be taken or a revert as I
need to rebase my pending patches accordingly. A maintainer please speak
up here.
Regards,
BALATON Zoltan
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