linuxboot / heads

A minimal Linux that runs as a coreboot or LinuxBoot ROM payload to provide a secure, flexible boot environment for laptops, workstations and servers.
https://osresearch.net/
GNU General Public License v2.0
1.41k stars 183 forks source link

PCIe bifurcation doesn't work #351

Open vejmarie opened 6 years ago

vejmarie commented 6 years ago

If a PCIe slot is using bifurcation to implement a dual x8 ports as an example on a x16 port, the attached PCIe device is not recognized. That is an issue on most OCP nodes which are intensively using PCIe bifurcation. A workaround is to directly plugged the PCI card into the master slot.

osresearch commented 6 years ago

Is this something that the PEI is supposed to setup? Or are we perhaps missing a DXE module that does this configuration? It doesn't look to me like the Linux kernel has anything related to bifurcation on x86.

vejmarie commented 6 years ago

There are a couple of registers which could be set at CPU level (not PCH) to set it up. This is definitly something which is transparent to the kernel and can be setup currently through AMITSE screen. I believe we have to re-implement it into the kernel to check if this is PEI or could be performed later.

nospam2000 commented 4 months ago

has there been any progress on this topic?

tlaurion commented 4 months ago

There are a couple of registers which could be set at CPU level (not PCH) to set it up. This is definitly something which is transparent to the kernel and can be setup currently through AMITSE screen. I believe we have to re-implement it into the kernel to check if this is PEI or could be performed later.

@vejmarie ping?

I have not followed linuxboot integration for a really long while to be honest and the Heads tree for those boards is totally UNMAINTAINED as of now. If there was desire, we could team up to add supported linuxboot boards back into Heads and build the ROMs from Circleci.

AFAIK, there was no progress on this @nospam2000 .