svn commit: r185562 - head/sys/boot/i386/boot0

John Baldwin jhb at freebsd.org
Tue Dec 2 14:33:03 PST 2008


On Tuesday 02 December 2008 04:48:21 pm Luigi Rizzo wrote:
> On Tue, Dec 02, 2008 at 02:24:58PM -0500, John Baldwin wrote:
> > On Tuesday 02 December 2008 09:57:48 am Luigi Rizzo wrote:
> ...
> > >   + a drive number of 0x00 (floppy, or USB in floppy emulation) is
> > >     now accepted as valid. Previously, it was overridden with 0x80,
> > >     meaning that the partition table coming from the media was
> > >     used to access sectors on a possibly different media.
> > >     You can revert to the previous mode building with -DCHECK_DRIVE,
> > >     and you can always use the 'setdrv' option in boot0cfg
> > 
> > I would flip this back to the original default.  This was there to 
workaround 
> > certain broken BIOSes that incorrectly specified a drive of 0x00 when you 
> > booted from the hard drive (at least according to the comments).  On such 
> 
> i don't have strong opinions on this, but i would really like to see some
> evidence on how relevant the original logic (and the comments in the
> code on broken BIOSes) are nowadays. That code dates back to 1998.
> 
> On the contrary, I can point to a very current and widespread case with
> AMI Bioses which, in the "Auto" emulation mode for USB device, use %dl=0
> for devices under 500MB or so; in this case the original boot0 did
> the wrong thing, because overriding with 0x80 causes reading from the
> wrong device.
> 
> Granted, boot0cfg options can fix things for both cases. It's all a
> matter of what is the most reasonable default.

Agreed.  I'm just very hesitant about changing the defaults of boot0 (or any 
of the boot code for that matter).

-- 
John Baldwin


More information about the svn-src-all mailing list