[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3] Resolve vt82c686 and piix4 qemu_irq memory leaks
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 0/3] Resolve vt82c686 and piix4 qemu_irq memory leaks |
Date: |
Mon, 22 Jul 2024 20:21:32 -0400 |
On Mon, Jul 22, 2024 at 10:21:30PM +0000, Bernhard Beschow wrote:
>
>
> Am 20. Juli 2024 18:38:42 UTC schrieb "Michael S. Tsirkin" <mst@redhat.com>:
> >On Thu, Jul 04, 2024 at 10:58:51PM +0200, Bernhard Beschow wrote:
> >> This series first turns vt82c686's "INTR" pin into a named GPIO for better
> >> comprehensibility. It then continues fixing qemu_irq memory leaks in
> >> vt82c686
> >> and piix4 by connecting out IRQs of the south bridges before they get
> >> realized.
> >> This approach is already used in the pc machines after it had been
> >> discussed at
> >> KVM forum `23.
> >>
> >> Observe that out IRQs are callbacks such as an INTR IRQ handler in a CPU
> >> which a
> >> south bridge wants to trigger. If, as an implementation detail, the south
> >> bridge
> >> wants to pass this callback to a child device, such as the PIC, then this
> >> callback must be known to the south bridge before it gets realized.
> >> Otherwise
> >> board code had to wire the PIC device itself, breaking encapsulation. This
> >> means
> >> that qdev_connect_gpio_out*() has to be called before realize() which this
> >> series implements. Another way to look at it is that callbacks apparently
> >> are
> >> resouces such as memory regions which are also populated before realize().
> >>
> >> Please check if above paragraph makes sense.
> >>
> >> Best regards,
> >> Bernhard
> >
> >
> >Bernhard, do you intend to resolve Zoltan's comments on this
> >patchset?
>
> Hi Michael,
>
> I was hoping for some more comments on the last two commits. These resolve
> various issues in one go, some of which have been addressed in the past.
> Since this is apparently a new style to handle out-GPIOs, I'd like to get an
> OK from the community.
>
> As Zoltan writes the ideal solution might be to qdev'ify the PIC. This is a
> bigger task which is more than I intended to do in this series.
>
> Best regards,
> Bernhard
ATM I'm just looking at whether we can fix any bugs for the coming
release.
> >
> >Thanks!
> >
> >
> >> See also:
> >> *
> >> https://lore.kernel.org/qemu-devel/0FFB5FD2-08CE-4CEC-9001-E7AC24407A44@gmail.
> >> com/
> >> * "Remove intermediate IRQ forwarder" patches in
> >> https://lore.kernel.org/qemu-devel/20230210163744.32182-1-philmd@linaro.org/
> >>
> >> Testing done:
> >> * Boot amigaone machine into Linux
> >> * Boot pegasos2 machine into MorphOS
> >> * Start fuloong2e machine and check that it doesn't abort
> >> * Boot malta machine with https://people.debian.org/~gio/dqib/
> >>
> >> Bernhard Beschow (3):
> >> hw/isa/vt82c686: Turn "intr" irq into a named gpio
> >> hw/isa/vt82c686: Resolve intermediate IRQ forwarder
> >> hw/isa/piix: Resolve intermediate IRQ forwarder
> >>
> >> hw/isa/piix.c | 13 ++-----------
> >> hw/isa/vt82c686.c | 12 ++----------
> >> hw/mips/fuloong2e.c | 2 +-
> >> hw/mips/malta.c | 4 +---
> >> hw/ppc/amigaone.c | 8 ++++----
> >> hw/ppc/pegasos2.c | 4 ++--
> >> 6 files changed, 12 insertions(+), 31 deletions(-)
> >>
> >> --
> >> 2.45.2
> >>
> >
- Re: [PATCH 1/3] hw/isa/vt82c686: Turn "intr" irq into a named gpio, (continued)