Re: [PATCH v5 1/6] MdeModulePkg/PciHostBridge: io range is not mandatory


Ni, Ray
 


Hi,

I'd say the risk for regressions is rather low, though, given that it
only affects configurations that would fail PCI resource allocation
today. Or am I missing something?

In any case, the PCIe spec is clear about this: I/O space is optional,
and we need to incorporate this into the generic code at *some* point.
It makes no sense for every individual platform to keep adding these
hacks.
Do you know how Linux handles this?
Can Linux allocate resource for PCI(E) devices? How does it deal with the IO type?
Yes. Details depend a bit on the specific configuration, but in general
linux will try assign io address space to pcie root ports and devices
plugged into those ports. A failure is not considered fatal though.
An error message and continue?


A more common case than the pci root bridge not supporting io address
space at all is having more than 16 pcie root ports. Given io bride
windows are 1k in size and we have 16k total there is simply not enough
io address space in that case, so some of the root ports stay without
io and linux is fine with that.
Does it have some certain policy that IO resource for first root bridge should
be satisfied?


Why changing the MdeModulePkg's IncompatiblePciDevice driver can avoid
stalling the patch series?
I feel it's enough to just change the OvmfPkg version.
It's not much of a problem for ovmf even without such an update,
typically the devices used with microvm don't have io bars in the first
place.

Also note that without this series pcie devices are not supported at all
on microvm, so not supporting all devices initially wouldn't be a
regression.

I'll look into it in any case.
The safest way is to change OVMF now.
Add @Nong, Foster and @Albecki, Mateusz for comments.


take care,
Gerd




Join devel@edk2.groups.io to automatically receive all group messages.