On 10/11/2010 02:41 PM, Sebastian Herbszt wrote: > 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." >
Sorry, you're right -- I confused the PNPBIOS spec with the BBS spec (and compounded the error by correctly remembering that BBS overrides PNPBIOS). -hpa