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

Luigi Rizzo rizzo at iet.unipi.it
Tue Dec 2 14:00:12 PST 2008


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.

	cheers
	luigi


More information about the svn-src-all mailing list