From owner-freebsd-hackers Thu Nov 6 10:49:42 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id KAA04600 for hackers-outgoing; Thu, 6 Nov 1997 10:49:42 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from usr03.primenet.com (tlambert@usr03.primenet.com [206.165.6.203]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id KAA04577 for ; Thu, 6 Nov 1997 10:49:27 -0800 (PST) (envelope-from tlambert@usr03.primenet.com) Received: (from tlambert@localhost) by usr03.primenet.com (8.8.5/8.8.5) id LAA28069; Thu, 6 Nov 1997 11:47:54 -0700 (MST) From: Terry Lambert Message-Id: <199711061847.LAA28069@usr03.primenet.com> Subject: Re: >64MB To: mike@smith.net.au (Mike Smith) Date: Thu, 6 Nov 1997 18:47:53 +0000 (GMT) Cc: tony@dell.com, tlambert@primenet.com, jamil@trojanhorse.ml.org, hackers@FreeBSD.ORG In-Reply-To: <199711061242.XAA00382@word.smith.net.au> from "Mike Smith" at Nov 6, 97 11:12:16 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > How do you copy the kernel into memory > 1M in real mode? If you could > elaborate on this (and how to *stay* in real mode while running over > 1M, ie. so that the kzip pass and subsequent real-mode startup > requirements could be met), I'd be *very*happy* There are several ways to do this. The main one uses a call that drops into protected mode, changes a 64k mapping at the top of the 1M you can get at, and goes back to protected mode. You can see a nice example of this in your config.sys on most DOS machines, where you probably load an EMS, XMS, or DPMI driver so DOS (and more likely, Windows 3.x) can use memory above 1M. There are a couple other tricks you can do, but they pretty much require Appendix H functions, and not all clone processors can do that. I highly recommend the "MindShare" book "Protected Mode Software Architecture" (I think that is the title). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.