qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v6 00/33] Consolidate PIIX south bridges


From: Bernhard Beschow
Subject: Re: [PATCH v6 00/33] Consolidate PIIX south bridges
Date: Sat, 11 Feb 2023 16:23:10 +0000


Am 10. Februar 2023 17:11:06 UTC schrieb "Philippe Mathieu-Daudé" 
<philmd@linaro.org>:
>On 10/2/23 17:27, Bernhard Beschow wrote:
>> 
>> 
>> Am 23. Januar 2023 15:51:49 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>>> 
>>> 
>>> Am 23. Januar 2023 09:25:51 UTC schrieb "Philippe Mathieu-Daudé" 
>>> <philmd@linaro.org>:
>>>> On 20/1/23 13:22, Bernhard Beschow wrote:
>>>>> Am 13. Januar 2023 17:39:45 UTC schrieb Bernhard Beschow 
>>>>> <shentey@gmail.com>:
>>>>>> Am 13. Januar 2023 08:46:53 UTC schrieb "Philippe Mathieu-Daudé" 
>>>>>> <philmd@linaro.org>:
>>>>>>> On 9/1/23 18:23, Bernhard Beschow wrote:
>>>>>>>> This series consolidates the implementations of the PIIX3 and PIIX4 
>>>>>>>> south
>>>>>>>> bridges and is an extended version of [1]. The motivation is to share 
>>>>>>>> as much
>>>>>>>> code as possible and to bring both device models to feature parity 
>>>>>>>> such that
>>>>>>>> perhaps PIIX4 can become a drop-in-replacement for PIIX3 in the pc 
>>>>>>>> machine. This
>>>>>>>> could resolve the "Frankenstein" PIIX4-PM problem in PIIX3 discussed 
>>>>>>>> on this
>>>>>>>> list before.
>>>>>>> 
>>>>>>>> Bernhard Beschow (30):
>>>>>>>>      hw/pci/pci: Factor out pci_bus_map_irqs() from pci_bus_irqs()
>>>>>>>>      hw/isa/piix3: Decouple INTx-to-LNKx routing which is 
>>>>>>>> board-specific
>>>>>>>>      hw/isa/piix4: Decouple INTx-to-LNKx routing which is 
>>>>>>>> board-specific
>>>>>>>>      hw/mips/Kconfig: Track Malta's PIIX dependencies via Kconfig
>>>>>>>>      hw/usb/hcd-uhci: Introduce TYPE_ defines for device models
>>>>>>>>      hw/intc/i8259: Make using the isa_pic singleton more type-safe
>>>>>>>>      hw/intc/i8259: Introduce i8259 proxy TYPE_ISA_PIC
>>>>>>>>      hw/i386/pc: Create RTC controllers in south bridges
>>>>>>>>      hw/i386/pc: No need for rtc_state to be an out-parameter
>>>>>>>>      hw/i386/pc_piix: Allow for setting properties before realizing 
>>>>>>>> PIIX3
>>>>>>>>        south bridge
>>>>>>>>      hw/isa/piix3: Create USB controller in host device
>>>>>>>>      hw/isa/piix3: Create power management controller in host device
>>>>>>>>      hw/isa/piix3: Create TYPE_ISA_PIC in host device
>>>>>>>>      hw/isa/piix3: Create IDE controller in host device
>>>>>>>>      hw/isa/piix3: Wire up ACPI interrupt internally
>>>>>>>>      hw/isa/piix3: Resolve redundant PIIX_NUM_PIC_IRQS
>>>>>>>>      hw/isa/piix3: Rename pci_piix3_props for sharing with PIIX4
>>>>>>>>      hw/isa/piix3: Rename piix3_reset() for sharing with PIIX4
>>>>>>>>      hw/isa/piix3: Drop the "3" from PIIX base class
>>>>>>>>      hw/isa/piix4: Make PIIX4's ACPI and USB functions optional
>>>>>>>>      hw/isa/piix4: Remove unused inbound ISA interrupt lines
>>>>>>>>      hw/isa/piix4: Use TYPE_ISA_PIC device
>>>>>>>>      hw/isa/piix4: Reuse struct PIIXState from PIIX3
>>>>>>>>      hw/isa/piix4: Rename reset control operations to match PIIX3
>>>>>>>>      hw/isa/piix3: Merge hw/isa/piix4.c
>>>>>>>>      hw/isa/piix: Harmonize names of reset control memory regions
>>>>>>>>      hw/isa/piix: Reuse PIIX3 base class' realize method in PIIX4
>>>>>>>>      hw/isa/piix: Rename functions to be shared for interrupt 
>>>>>>>> triggering
>>>>>>>>      hw/isa/piix: Consolidate IRQ triggering
>>>>>>>>      hw/isa/piix: Share PIIX3's base class with PIIX4
>>>>>>>> 
>>>>>>>> Philippe Mathieu-Daudé (3):
>>>>>>>>      hw/mips/malta: Introduce PIIX4_PCI_DEVFN definition
>>>>>>>>      hw/mips/malta: Set PIIX4 IRQ routes in embedded bootloader
>>>>>>>>      hw/isa/piix4: Correct IRQRC[A:D] reset values
>>>>>>> 
>>>>>>> I'm queuing the first 10 patches for now to alleviate the size of this
>>>>>>> series, and I'll respin a v7 with the rest to avoid making you suffer
>>>>>>> any longer :/ Thanks for insisting in this effort and I apologize it
>>>>>>> is taking me so long...
>>>>>> 
>>>>>> Okay... What's the further plan? Is there anything missing?
>>>>> 
>>>>> Ping
>>>> 
>>>> The plan is "I'll respin a v7 with the rest".
>>> 
>>> I understood that part. I wonder what the blocking issue is/was.
>> 
>> The first part of this series contains piix3 changes such as the ISA proxy 
>> pic and movement of rtc. This seems the riskier part of the series to me 
>> which I'd like to get feedback on from the field rather sooner than later. 
>> The reason is that I can't currently forsee how fast I could react if these 
>> changes were merged during (soft) freeze.
>
>What bugs me is the i8259 proxy.

I agree that it smells like a workaround for some problem elsewhere.

The patch introducing the proxy to piix3 could be replaced by a patch moving:
- isa_bus_irqs() into piix3's realize method and
- `piix3->pic = x86ms->gsi;` in front of the realize call of piix3.

Would that work for you? I could respin then.

A first test run with the pc machine seems promising. The Malta machine would 
need similar treatment.

Best regards,
Bernhard

>I applied your patches locally, and am
>trying to rework to avoid using it. I amend a 'Co-developed-by' tag
>to patches modified:
>https://docs.kernel.org/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by
>



reply via email to

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