On Sun, Jan 08, 2012 at 05:17:45PM +0200, Gleb Natapov wrote: > On Sun, Jan 08, 2012 at 09:58:53AM -0500, Kevin O'Connor wrote: > > On Sun, Jan 08, 2012 at 10:31:05AM +0200, Gleb Natapov wrote: > > > Cool! What about non pnp roms that also register bcv? Should we use HD > > > priority for those too? > > > > A non-pnp rom can't register a BCV, but it can hook int13 (or hook > > int19 or do a direct boot). Right now, if a user selects a "legacy > > option rom" from the boot menu, SeaBIOS will still prioritize HD > > booting even if the rom doesn't hook int13. It's an open question > > whether that is the right thing to do. In practice, though, there > > aren't many legacy option roms, so it's probably not a big deal. The > > "vapic.bin" should probably be upgraded to use a PNP header just so it > > doesn't show up in the boot menu. > > > I was talking about this code in optionroms.c: > > if (! pnp) { > // Legacy rom. > boot_add_bcv(FLATPTR_TO_SEG(rom), OPTION_ROM_INITVECTOR, 0 > , getRomPriority(sources, rom, 0)); > continue; > } > > Isn't it register bcv for each non pnp option rom found?
Yes. >As far as I > understand this is done in order to postpone executing such rom until > it is absolutely clear that user wants to use it for booting. No - the option rom will always be executed. The purpose of placing it in the BCV list is to order its execution with respect to other BCVs so that if the legacy option rom hooks int13 it will do so after other drives have had a chance. Should a legacy rom do direct boot or hook int19 it will take priority over everything else - irrespective of seabios priorities or what the user selects in the boot menu. This lack of control is what spawned the whole PNP rom stuff. >If > boot_add_bcv() will unconditionally give HD boot priority to such bcv it > will have higher priority than CD or pxe boot option, no? As above, the BCV priorities are only relevant when compared to the priority of other BCVs. So, no - it should have no impact on CD/PXE. As I mentioned in my previous post, SeaBIOS does currently prioritizes hard drive booting when the user selects "Legacy option rom" from the boot menu - it's unclear if this is the right thing to do. To be honest, this wasn't all that clear to me yesterday - I had to think on it a bit. This legacy boot stuff is crazy. -Kevin