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

Reply via email to