From owner-freebsd-stable Mon Nov 20 15:21:35 2000 Delivered-To: freebsd-stable@freebsd.org Received: from gndrsh.dnsmgr.net (GndRsh.dnsmgr.net [198.145.92.4]) by hub.freebsd.org (Postfix) with ESMTP id 54D9037B4D7; Mon, 20 Nov 2000 15:21:31 -0800 (PST) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.9.3/8.9.3) id PAA19939; Mon, 20 Nov 2000 15:21:30 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <200011202321.PAA19939@gndrsh.dnsmgr.net> Subject: Re: Dedicated disks (was: Dangerously Dedicated) In-Reply-To: from John Baldwin at "Nov 20, 2000 02:32:39 pm" To: jhb@FreeBSD.org (John Baldwin) Date: Mon, 20 Nov 2000 15:21:29 -0800 (PST) Cc: stable@FreeBSD.org, rnordier@FreeBSD.org X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG ... > > Let me state this one more time loudly for those calling themselves boot > > code experts. THE PARTITION TABLE IN THE MBR IS NOT DEALT WITH BY THE BIOS, > > BIOSES THAT TRY TO MAKE HEADS OR TALES OF PARTITION TABLES ARE TECHNICALLY > > BROKEN AND VIOLATE IBM AT COMPATIBILITY. If you doubt this go read about > > BIOS service 19H, IPL load. > > Go rewrite Adaptec's SCSI firmware and replace all the b0rked BIOS's out > in the > field. Then come back with a productive answer. Thank you. I really wish > you > would go read all the archives for the actual real world issues. The PC arch > has changed and acquired new 'de facto' standards since 1980. I am probably more informed of the real world issues than you know, having submitted problem reports to Adaptec, Symbios and DPT about improper implementations of the ``Plug and Play SCSI Specification'' version 1., March 30, 1994. Most commonly a divide by zero error due to copying verbatium the sample code in appendix A, ignoring the statement in section 8.1 which says ``Appendix A provides an example of how to determine the geometry''. The common bug found is that Head and EndHead are stored in a byte, and Endhead often has the value 255, Head = EndHead+1 stored in a byte is 0, leading to a div 0 error later in the code with you do cylinders=capacity/(Head*Sectors). This is a real bios bug and happens on any disk with a partition table that has an endhead value of 255, I have seen win95, NT and even MSDOS create these and cause a buggy 2940 to blow chunks. It just happens that FreeBSD tickles this bug because of the particular choice of EndHead in partition 4 (255). -- Rod Grimes - KD7CAX @ CN85sl - (RWG25) rgrimes@gndrsh.dnsmgr.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message