Date: Tue, 2 Dec 2008 22:48:21 +0100 From: Luigi Rizzo <rizzo@iet.unipi.it> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, Luigi Rizzo <luigi@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r185562 - head/sys/boot/i386/boot0 Message-ID: <20081202214821.GA65840@onelab2.iet.unipi.it> In-Reply-To: <200812021425.00173.jhb@freebsd.org> References: <200812021457.mB2Evmha063418@svn.freebsd.org> <200812021425.00173.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081202214821.GA65840>