Date: Thu, 16 Oct 1997 22:12:16 -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: <199710170512.WAA23150@ns2.yahoo.com> In-Reply-To: <199710170339.NAA00494@word.smith.net.au> (message from Mike Smith on Fri, 17 Oct 1997 13:09:20 %2B0930)
next in thread | previous in thread | raw e-mail | index | archive | help
> > > I should point out that, having just checked, their practice of passing
> > > 0 in %dl to the bootstrap is in direct violation of the BIOS Boot
> > > Specification version 1.01, 11 Jan 1997. Quoting:
> ...
> > > Do you have any idea who is responsible for this BIOS? (ie. is it an
> > > Intel in-house job, or a third party like Phoenix or Award?)
> >
> > it's a phoenix bios. of course it's possible that i'm just being
> > stupid and there's an option somewhere that needs to be changed.
> > still looking..
>
> I don't think so; I *honestly* can't think of any reason they would
> deliberately blow off a standard they co-authored.
>
yeah, it definitely looks like the bios is simply not setting %dl
correctly. i've moved the disk between machines and it works fine in
every other config with 0x80 getting passed in. it is clearly 0x00 on
the al440lx board.
> Are you booting from a SCSI disk? If so what controller? Do you have
> an IDE disk you can try booting from?
>
tried several different 2940 cards. i just tired an ide disk with the
same results (%dl == 0x00).
> I won't have my hands on one of those boards until mid-next week (this
> is an "Atlantic", correct?), and probably not for very long then.
>
yep, i think it's called "atlanta"
> Jordan, can you perhaps work something like this into the RELNOTES for
> 2.2.5, in case we don't manage to track this one down:
>
> (Known bugs section maybe?)
>
> The Intel AL440LX "Atlantic" motherboard BIOS is incompatible with the
> FreeBSD bootstrap. To work around this, the boot disk MUST NOT be
> sliced using the "dedicated" mode, and the BootEasy boot manager MUST
> be installed.
>
> Symptoms of this problem are a system which attempts to access the
> floppy disk when booting from the hard disk, displaying an endless
> succession of
>
> C:0 H:0 S:0
>
> error messages.
>
> David; can you confirm that last paragraph? I'm just guessing there.
>
actually you get a single "Read error" message. and this is with the
latest bios 4A4LL0X0.86A.0013.P03 dated 10/02/97.
btw, i ended up doing something similar to bteasy and made the
following changes to start.S.
diff -c -r1.1 -r1.3
*** start.S 1997/06/06 05:24:26 1.1
--- start.S 1997/10/17 02:41:29 1.3
***************
*** 102,112 ****
/* set up %es, (where we will load boot2 to) */
mov %ax, %es
/* bootstrap passes us drive number in %dl */
! cmpb $0x80, %dl
data32
jae hd
fd:
/*
--- 103,120 ----
/* set up %es, (where we will load boot2 to) */
mov %ax, %es
/* bootstrap passes us drive number in %dl */
! cmpb $0x81, %dl
data32
jae hd
+
+ /* the above assumption is not always true, so let's force it. */
+ /* needed for the al440lx board. don't see much harm in it. */
+ /* this used to fall through to floppy, but we know this is */
+ /* a hd boot, right? */
+ movb $0x80, %dl
+ data32
+ jmp hd
fd:
/*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710170512.WAA23150>
