Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 2003 14:06:47 -0700 (PDT)
From:      Dan Strick <strick@covad.net>
To:        freebsd-hardware@FreeBSD.org
Cc:        jhb@FreeBSD.org
Subject:   RE: bad BIOS confuses boot0
Message-ID:  <200309292106.h8TL6leo000697@ice.nodomain>

next in thread | raw e-mail | index | archive | help
On 29-Sep-2003 John Baldwin wrote:
> I don't think there is an actual standard for BIOS booting off a hard
> disk.  The defacto standard is to indeed pass in the BIOS device number
> in %dl, so you likely can complain to your BIOS vendor.  It's amazing
> Windows boots off the thing.  Windows may hardcode 0x80 though as a
> workaround.  The boot0cfg -d option exists to workaround this type of
> bug, so you are using the best workaround available.

I did some intensive Web searching over the weekend.  I could not find
an absolutely authoritative BIOS bootstrap standard, however I did find
the following:

	http://www.phoenix.com/resources/specs-bbs101.pdf

In 1996 Compaq, Phoenix Technologies, and Intel published a "BIOS Boot
Specification, Version 1.01".  Appendix D begins, "If O/S's responded
to the mechanism of passing the INT 13h drive number to the boot sector
as defined by the Plug and Play BIOS Specification, the BIOS could boot
from any INT 13h drive."

The "Plug and Play BIOS Specification" can be found at:

	http://www.microsoft.com/whdc/hwdev/tech/PnP/default.mspx

under "Industry Standards" as a self extracting pkzipped rich text file.
(ugh...)  In section 2.4 it says:

    "The very last function of the system BIOS POST after loading and
    validating the operating system boot sector is to transfer control.
    In an ISA system, control is transferred without any parameters.
    In a Plug and Play system BIOS, parameters will be passed to the
    operating system. The parameters are:
    Entry: ES:DI Pointer to System BIOS Plug and Play Installation
                 Check Structure (See section 4.4)
           DL    Physical device number the OS is being loaded from (e.g.
                 80h, assuming the device supports INT 13H interface.)

My Gigabyte 8KNXP motherboard has an Award BIOS.  The Award BIOS (see
www.award.com) is apparently a product of Phoenix Technologies.
I guess I can make the claim that the BIOS behavior is inconsistent
with its own manufacturer's specifications.  Will Gigabyte care?
I don't know.  I will ask...

Dan Strick
strick@covad.net



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