[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/5] Fix recent PIC -> CPU interrupt wiring regressions

From: Mark Cave-Ayland
Subject: Re: [PATCH 0/5] Fix recent PIC -> CPU interrupt wiring regressions
Date: Mon, 6 Mar 2023 23:59:57 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0

On 04/03/2023 11:40, 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

[1] 20230302224058.43315-1-philmd@linaro.org/">https://lore.kernel.org/qemu-devel/20230302224058.43315-1-philmd@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
   hw/pci/pci: Remove multifunction parameter from

  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(-)

Thanks for doing this! The patches basically look good, the only minor niggle is that normally wiring of gpios is done *after* realize() for consistency because some qdev_init_gpio_*() functions may use a property to define the gpio array size.

Having said that it is a nice tidy-up, so I'd be okay with patches 1-3 if you added a small comment above the qdev_connect_gpio_out() lines pointing out that this is a temporary solution (hack?) until the 8259 device is converted to use gpios.

However given that Phil wrote the patches I'd wait for him to decide whether he'd prefer a plain revert over the changes in this series before going ahead with a v2.

Finally I think patches 4-5 are good, however given how close we are to freeze I'd drop them for now and present them as a separate series at the start of the 8.1 dev cycle when everyone has a bit more breathing space.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]