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


Gerd Hoffmann
 

Hi,

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?
Not even an error message. In case the pci core code assigns a io
window to the pci root port it will log a message saying so. In case
it doesn't it stays silent.

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?
I don't know for sure. From the boot logs it looks like the kernel
simply assigns resources in pci scan order, and when it runs out of
resources it stops assigning.

take care,
Gerd

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