[gPXE-devel] [PATCH] [romprefix] Consider PCI3 init-time segment in BIOS area insane

Michael Brown mbrown at fensystems.co.uk
Thu May 27 11:28:53 EDT 2010


On Thursday 27 May 2010 14:58:47 Kyle Kienapfel wrote:
> Intel disabled
> 03:02.0 CD00 PCI3.00!DE00 PnP BBS PMM0042 at 08 CD00
> 03:03.0 CE00 PCI3.00!DE00 PnP BBS PMM004A at 08 CE00
> 
> Intel Enabled
> 03:02.0 CE00 PCI3.00!DE00 PnP BBS PMM0043 at 08 CE00
> 03:03.0 CF00 PCI3.00!DE00 PnP BBS PMM004B at 08 CF00

OK, that fairly conclusively shows that the runtime segtime is genuinely 
erroneous.

Joshua: I can't immediately think of any better fix for this problem than your 
"init-time >= 0xa000 implies runtime=init-time".

However, I think it's worth noting that pretty much all the PCI3-related 
quirks are consistent with a pattern of a PCI3 BIOS detecting the iPXE/gPXE 
ROM as a non-PCI3 ROM.  (A sensible PCI3 BIOS would always set the runtime 
segment equal to the init-time segment for a non-PCI3 ROM, just as a sanity 
measure, but this clearly isn't happening.)

I think it would be worth investing some time to discover if and why these 
BIOSes are failing to detect iPXE/gPXE ROM as a PCI3 ROM.  This might 
potentially eliminate almost all of the quirks that we're seeing.

Michael


More information about the gPXE-devel mailing list