On Tue, May 12, 2020 at 01:19:06PM -0400, thomas.wal...@unverified.twosigma.com wrote: > On Tue, May 12, 2020 at 06:44:51PM +0200, Christian Nilsson wrote: > > A patch was sent to the list a few hours ago in regards to PCI devices, is > > it > > related? > > I did see that come in, just as I had gotten a working patch and was actually > amazed by how closely they are related. Long story short, efipci_root is > only looking at PCI_SEG to determine which EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL to > use. But as the other patch notes, > EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL->Configure() returns a descriptor list that > outlines which bus numbers each root is associated with. Because PCI_SEG is > the same across this particular system, it was always incorrectly picking the > first root, so attempts to read the PCI config space failed and the NIC fell > back to NII. Modifying efipci_root to retrieve and compare this descriptor > list allows it to actually find the correct root. > > Amusingly enough, it turns out that the rest of our EFI systems (mostly Dell > 14th Gen) only work by blind luck because the first root is the correct one. > But on these AMD systems it isn't. > > There is definitely overlap with the other patch which, I'll be honest, I > don't fully understand. I'm primarily a kernel guy and EFI is not my thing > at all (which means I'm also probably butchering the terminology). Hopefully > someone who does know this stuff can comment once I can get a patch posted. >
Ok, patch up on its own thread. Very open to suggestions. Like I said, EFI is not my thing. But tested and working on the Dell R6525 and R7515 that started the thread as well as a half dozen or so different models (Dell R630/R730/R640/R740, Intel S2600WT2R/S2600WFT). Thank you all for the hospitality towards a n00b in these parts. _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel