Message ID | 20220112213629.9126-1-shentey@gmail.com |
---|---|
Headers | show |
Series | malta: Move PCI interrupt handling from gt64xxx to piix4 | expand |
Hi Bernhard, On 12/1/22 22:36, Bernhard Beschow wrote: > Hi, > > first-time contributor here. Inspired by an article in LWN [1] I figured I'd > get my hands dirty with QEMU development. According to the article my goal is > to eliminate some "accidental complexity". > > While studying the code I noticed some (accidental?) differences between piix3 > and piix4 where the PCI interrupts are handled. Moreover, I noticed presence of > global variables in piix4 which probably constitute a limitation of QOM's idea > of configuration-driven machine creation. By applying piix3 concepts, i.e. > moving the interrupt handling from gt64xxx to piix4, it's possible to both > eliminate the differences and resolve the global variables. > > The patch series is structured as follows: Patch 1 eliminates the differences, > patch 3 resolves the global variables. Patch 2 is a preparation for patch 3. > Some of my further comments regarding the patches are: > > Patch 1: > * pci_slot_get_pirq() looks quite malta-specific. Neither gt64xxx nor piix4 > seem to be the perfect fit. So I moved it to piix4, analogous to piix3. > * The i8259 property moved from MaltaState to PIIX4State looks quite redundant > to the isa property. Could isa be used instead, eliminating i8259? > > Patch 2: > * Besides piix4, there were four further cases where the PIC array was passed > as the opaque parameter to the pci_map_irq_fn's. AFAICS in all other cases > the DeviceState is passed instead. With this patch, consistency is > esablished. > * Passing PIIX4State to piix4_set_irq() paves the way for eliminating all > global variables left in piix4.c (see patch 3). > > Comments welcome. > > Cheers > Bernhard > > [1] https://lwn.net/Articles/872321/ > > Bernhard Beschow (3): > malta: Move PCI interrupt handling from gt64xxx to piix4 > pci: Always pass own DeviceState to pci_map_irq_fn's > isa/piix4: Resolve global variables Did you forget to sent the patches?
Hi Philippe, On Thu, Jan 13, 2022 at 10:24 AM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > Hi Bernhard, > > On 12/1/22 22:36, Bernhard Beschow wrote: > > Hi, > > > > first-time contributor here. Inspired by an article in LWN [1] I figured > I'd > > get my hands dirty with QEMU development. According to the article my > goal is > > to eliminate some "accidental complexity". > > > > While studying the code I noticed some (accidental?) differences between > piix3 > > and piix4 where the PCI interrupts are handled. Moreover, I noticed > presence of > > global variables in piix4 which probably constitute a limitation of > QOM's idea > > of configuration-driven machine creation. By applying piix3 concepts, > i.e. > > moving the interrupt handling from gt64xxx to piix4, it's possible to > both > > eliminate the differences and resolve the global variables. > > > > The patch series is structured as follows: Patch 1 eliminates the > differences, > > patch 3 resolves the global variables. Patch 2 is a preparation for > patch 3. > > Some of my further comments regarding the patches are: > > > > Patch 1: > > * pci_slot_get_pirq() looks quite malta-specific. Neither gt64xxx nor > piix4 > > seem to be the perfect fit. So I moved it to piix4, analogous to > piix3. > > * The i8259 property moved from MaltaState to PIIX4State looks quite > redundant > > to the isa property. Could isa be used instead, eliminating i8259? > > > > Patch 2: > > * Besides piix4, there were four further cases where the PIC array was > passed > > as the opaque parameter to the pci_map_irq_fn's. AFAICS in all other > cases > > the DeviceState is passed instead. With this patch, consistency is > > esablished. > > * Passing PIIX4State to piix4_set_irq() paves the way for eliminating all > > global variables left in piix4.c (see patch 3). > > > > Comments welcome. > > > > Cheers > > Bernhard > > > > [1] https://lwn.net/Articles/872321/ > > > > Bernhard Beschow (3): > > malta: Move PCI interrupt handling from gt64xxx to piix4 > > pci: Always pass own DeviceState to pci_map_irq_fn's > > isa/piix4: Resolve global variables > > Did you forget to sent the patches? > I can see my patches in-reply-to my cover letter here [1]. Do I miss something? [1] https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg02786.html
On 13/1/22 12:22, Bernhard Beschow wrote: > Hi Philippe, > > On Thu, Jan 13, 2022 at 10:24 AM Philippe Mathieu-Daudé <f4bug@amsat.org > <mailto:f4bug@amsat.org>> wrote: > > > Bernhard Beschow (3): > > malta: Move PCI interrupt handling from gt64xxx to piix4 > > pci: Always pass own DeviceState to pci_map_irq_fn's > > isa/piix4: Resolve global variables > > Did you forget to sent the patches? > > > I can see my patches in-reply-to my cover letter here [1]. Do I miss > something? > > [1] > https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg02786.html > <https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg02786.html> I should have checked there first. I found the patches in my SPAM box, apparently due to "SPF=SOFTFAIL" (no clue...): Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="Sf/DBOt0"; spf=softfail (google.com: domain of transitioning shentey@gmail.com does not designate 172.105.152.211 as permitted sender) smtp.mailfrom=shentey@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com