From owner-freebsd-hardware@FreeBSD.ORG Mon Sep 29 14:06:44 2003 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C23F16A4B3 for ; Mon, 29 Sep 2003 14:06:44 -0700 (PDT) Received: from smtp.covadmail.net (mx05.covadmail.net [63.65.120.65]) by mx1.FreeBSD.org (Postfix) with SMTP id 105C24402F for ; Mon, 29 Sep 2003 14:06:42 -0700 (PDT) (envelope-from strick@covad.net) Received: (covad.net 4581 invoked from network); 29 Sep 2003 21:06:37 -0000 Received: from unknown (HELO ice.nodomain) (68.164.196.108) by sun-qmail04 with SMTP; 29 Sep 2003 21:06:36 -0000 Received: from ice.nodomain (localhost [127.0.0.1]) by ice.nodomain (8.12.8p1/8.12.8) with ESMTP id h8TL6mwo000698; Mon, 29 Sep 2003 14:06:48 -0700 (PDT) (envelope-from dan@ice.nodomain) Received: (from dan@localhost) by ice.nodomain (8.12.8p1/8.12.8/Submit) id h8TL6leo000697; Mon, 29 Sep 2003 14:06:47 -0700 (PDT) Date: Mon, 29 Sep 2003 14:06:47 -0700 (PDT) From: Dan Strick Message-Id: <200309292106.h8TL6leo000697@ice.nodomain> To: freebsd-hardware@FreeBSD.org cc: dan@ice.nodomain cc: jhb@FreeBSD.org Subject: RE: bad BIOS confuses boot0 X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Sep 2003 21:06:44 -0000 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