Skip site navigation (1)Skip section navigation (2)
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>