[SeaBIOS] [RFC PATCH v2 0/4] Allow RedHat PCI bridges reserve more buses than necessary during init

Marcel Apfelbaum marcel at redhat.com
Thu Jul 27 20:24:31 CEST 2017


On 26/07/2017 21:49, Michael S. Tsirkin wrote:
> On Wed, Jul 26, 2017 at 07:22:42PM +0300, Marcel Apfelbaum wrote:
>> On 26/07/2017 18:20, Laszlo Ersek wrote:
>>> On 07/26/17 08:48, Marcel Apfelbaum wrote:
>>>> On 25/07/2017 18:46, Laszlo Ersek wrote:
>>>
>>> [snip]
>>>
>>>>> (2) Bus range reservation, and hotplugging bridges. What's the
>>>>> motivation? Our recommendations in "docs/pcie.txt" suggest flat
>>>>> hierarchies.
>>>>>
>>>>
>>>> It remains flat. You have one single PCIE-PCI bridge plugged
>>>> into a PCIe Root Port, no deep nesting.
>>>>
>>>> The reason is to be able to support legacy PCI devices without
>>>> "committing" with a DMI-PCI bridge in advance. (Keep Q35 without)
>>>> legacy hw.
>>>>
>>>> The only way to support PCI devices in Q35 is to have them cold-plugged
>>>> into the pcie.0 bus, which is good, but not enough for expanding the
>>>> Q35 usability in order to make it eventually the default
>>>> QEMU x86 machine (I know this is another discussion and I am in
>>>> minority, at least for now).
>>>>
>>>> The plan is:
>>>> Start Q35 machine as usual, but one of the PCIe Root Ports includes
>>>> hints for firmware needed t support legacy PCI devices. (IO Ports range,
>>>> extra bus,...)
>>>>
>>>> Once a pci device is needed you have 2 options:
>>>> 1. Plug a PCIe-PCI bridge into a PCIe Root Port and the PCI device
>>>>      in the bridge.
>>>> 2. Hotplug a PCIe-PCI bridge into a PCIe Root Port and then hotplug
>>>>      a PCI device into the bridge.
>>>
>>
>> Hi Laszlo,
>>
>>> Thank you for the explanation, it makes the intent a lot clearer.
>>>
>>> However, what does the hot-pluggability of the PCIe-PCI bridge buy us?
>>> In other words, what does it buy us when we do not add the PCIe-PCI
>>> bridge immediately at guest startup, as an integrated device?
>>>   > Why is it a problem to "commit" in advance? I understand that we might
>>> not like the DMI-PCI bridge (due to it being legacy), but what speaks
>>> against cold-plugging the PCIe-PCI bridge either as an integrated device
>>> in pcie.0 (assuming that is permitted), or cold-plugging the PCIe-PCI
>>> bridge in a similarly cold-plugged PCIe root port?
>>>
>>
>> We want to keep Q35 clean, and for most cases we don't want any
>> legacy PCI stuff if not especially required.
> 
> BTW, what are the PCI devices that we actually need?
> 

Is not about what we need, if Q35 will become a "transition" machine,
any existing emulated PCI device is fair game, since we would
want to run on Q35 also pc configurations.

Thanks,
Marcel



More information about the SeaBIOS mailing list