[SeaBIOS] [Qemu-devel] [RFC] Passing boot order from qemu to seabios

Sebastian Herbszt herbszt at gmx.de
Mon Oct 11 23:41:38 CEST 2010


H. Peter Anvin wrote:
> On 10/11/2010 01:30 PM, Anthony Liguori wrote:
>> On 10/11/2010 02:59 PM, Gleb Natapov wrote:
>>> No boot rom should do that. extboot wreaks havoc when it is used.
>>> And since virtio is now supported by bios there is no reason to use it.
>> 
>> You don't really have a choice.  You could be doing hardware passthrough 
>> and the ROM on the card may hijack int19.
> 
> The BBS standard actually documents how to deal with that -- it pretty
> much works out to "let the card initialize, then see if it mucked with
> int19, and then put int19 back... if we want to run that card, then we
> invoke the int19 that the card set up."

The BIOS Boot Specification, Version 1.01 from January 11, 1996 seems not to
recommend this:

3.4 Legacy IPL Devices

"Legacy IPL devices will be allowed to take control of the system (via hooking
interrupts) in both Legacy and PnP systems. The Plug and Play BIOS specification
recommends that Legacy devices that hook a bootstrap interrupt such as INT 19h, 18h,
or 13h have the interrupt re-captured by the BIOS. This is not done because grabbing
an interrupt vector back after a device has hooked it can produce unpredictable results.
Further, by allowing the card to take control, the behavior of these Legacy cards will
be the same on both PnP and Legacy machines."

6.8 Notes on the POST Process

"The Plug and Play BIOS Specification says that if a Legacy IPL device's option
ROM captures INT 18h or INT 19h, the BIOS should save this vector and then
restore the original one put there by the BIOS. The BIOS Boot Specification
deviates from this in that these vectors are not recaptured after each Legacy option
ROM returns from initialization. That would be considered unsafe."

Sebastian




More information about the SeaBIOS mailing list