Hi Philippe, On Thu, Jan 13, 2022 at 10:24 AM Philippe Mathieu-Daudé 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