Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Oct 1997 19:12:19 -0700 (PDT)
From:      David Filo <filo@yahoo.com>
To:        mike@smith.net.au
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: biosboot/start.S needs fix for Intel AL440LX motherboard
Message-ID:  <199710170212.TAA22643@ns2.yahoo.com>
In-Reply-To: <199710170011.JAA02473@word.smith.net.au> (message from Mike Smith on Fri, 17 Oct 1997 09:41:09 %2B0930)

index | next in thread | previous in thread | raw e-mail

>
> > The latest BIOS from Intel for their AL440LX board does not pass the
> > drive number in %dl as biosboot/start.S assumes (instead %dl is set to
> > 0).  The end result is that you cannot boot from a harddrive if you're
> > not using slices (a "Read error" occurs after the BIOS hands over
> > control).  Booting from floppy works fine and using slices with bteasy
> > works as well.
> 
> Unpleasant.  How are you supposed to differentiate between booting from 
> a harddisk (0x8?) and a floppy (0x0?) ?
>

you know you're booting from harddisk because that's where the code
comes from.  the mbr on harddisk assumes it's a harddisk boot.  the
mbr on floppy assumes it's a floppy boot.

> > Forcing %dl to $0x80 (which is what bteasy appears to do) solves the
> > problem for me.  I assume the real solution is a bit more complex than
> > this.  I suppose this could be due to some weird BIOS setting, but I
> > think I pretty much tried everything.  This board will be popular, so
> > would be nice to get this fixed.
> 
> Unless Intel are angling for compatability with some other standard, I 
> think the correct fix will be a BIOS upgrade.  If they are, it'd be 
> handy to know which one, so that we can detect and support it.
> 
> Forcing %dl to 0x80 obviously breaks using the same start.s for both 
> harddisk and floppy booting.
>

yep. but doesn't seem like that big a deal to have separate versions.

btw, bteasy can deal with %dl not properly set.  the first thing it
does is check for (%dl == 0x81).  if this fails it sets %dl to 0x80.
should this solution be used in startup.S as well?

in our setup i don't think 0x81 is even possible (how would you get a
boot1 from any disk other than scsi id 0?).  so doesn't seem too bad
to have boot1 on sd0 forced to 0x80.

david


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710170212.TAA22643>