From owner-freebsd-hackers Mon Nov 10 11:08:59 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA21041 for hackers-outgoing; Mon, 10 Nov 1997 11:08:59 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.5.85]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA21036 for ; Mon, 10 Nov 1997 11:08:55 -0800 (PST) (envelope-from tlambert@usr05.primenet.com) Received: (from daemon@localhost) by smtp04.primenet.com (8.8.7/8.8.7) id MAA29859; Mon, 10 Nov 1997 12:08:43 -0700 (MST) Received: from usr05.primenet.com(206.165.6.205) via SMTP by smtp04.primenet.com, id smtpd029843; Mon Nov 10 12:08:37 1997 Received: (from tlambert@localhost) by usr05.primenet.com (8.8.5/8.8.5) id MAA11282; Mon, 10 Nov 1997 12:08:30 -0700 (MST) From: Terry Lambert Message-Id: <199711101908.MAA11282@usr05.primenet.com> Subject: Re: >64MB To: tony@dell.com (Tony Overfield) Date: Mon, 10 Nov 1997 19:08:30 +0000 (GMT) Cc: mike@smith.net.au, gurney_j@resnet.uoregon.edu, chuckr@glue.umd.edu, tlambert@primenet.com, jamil@trojanhorse.ml.org, hackers@FreeBSD.ORG, j_mini@efn.org In-Reply-To: <3.0.3.32.19971110034509.0069e370@bugs.us.dell.com> from "Tony Overfield" at Nov 10, 97 03:45:09 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > >The kernel is loaded above 1M, so you would have to be careful to make > >sure that your BIOS calls came out of the lowest 64K. That could be > >done with a dispatcher in locore.s though. > > I assume you mean the lowest 640K. But yes, a dispatcher would have > to exist down there, with a buffer large enough for your INT 13h calls > and etc. Actually, he means the 64k-16b that immediately follows the 1M boundary, since you can adulterate a segment register to access this memory (in effect you can start loading FreeBSD there, and so long as the access code and data go in that window, you can make it look like DOS memory and the BIOS can access it. > I don't know if it works, but it looks simple enough. I do realize it > offends the sensibilities of some real-mode fearing folks. > > If you can't trust the BIOS after the kernel is in memory, how can you > trust it to load the kernel into memory? While the kernel is still > "booting...", the BIOS should be safe enough to call in real-mode. Three problems: 1) You can't trust a *user process* to call the BIOS (it's not the sword that's the problem, it's what the peasent *does* with the sword that makes us make them illegal for everyone but the knights and the king). 2) The BIOS INT 13 code has a 2G limit on partition size, unless you can guarantee all the devices in your machine support LBA mode (even then the limit on LBA is lower than the limit in FreeBSD... 64bits >> 32 bits). 3) Gate A20 (now you will argue that Dell hardware doesn't use BIOS code that expects a wrap in memory). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.