[romprefix] Cope with PnP BIOSes that fail to set %es:%di on entry
authorMichael Brown <mcb30@etherboot.org>
Sat, 8 Aug 2009 13:36:10 +0000 (14:36 +0100)
committerMichael Brown <mcb30@etherboot.org>
Sat, 8 Aug 2009 14:32:28 +0000 (15:32 +0100)
commit7a3a159af54d48158cb260f05043d8b503de7992
tree0b8d0026c00cc004e25fd20dcaaca32e0529dab3
parentad66465b3c436b828d9631e41deb00f5a32f606a
[romprefix] Cope with PnP BIOSes that fail to set %es:%di on entry

Some BIOSes support the BIOS Boot Specification (BBS) but fail to set
%es:%di correctly when calling the option ROM initialisation entry
point.  This causes gPXE to identify the BIOS as non-PnP (and so
non-BBS), leaving the user unable to control the boot order.

Fix by scanning for the $PnP signature ourselves, rather than relying
on the BIOS having passed in %es:%di correctly.

Tested-by: Helmut Adrigan <helmut.adrigan@chello.at>
src/arch/i386/prefix/romprefix.S