From owner-freebsd-hackers Mon Nov 10 02:07:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id CAA19355 for hackers-outgoing; Mon, 10 Nov 1997 02:07:18 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from bugs.us.dell.com (bugs.us.dell.com [143.166.169.147]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id CAA19342 for ; Mon, 10 Nov 1997 02:07:13 -0800 (PST) (envelope-from tony@dell.com) Received: from ant.us.dell.com (ant.us.dell.com [143.166.12.34]) by bugs.us.dell.com (8.6.12/8.6.12) with SMTP id EAA18343; Mon, 10 Nov 1997 04:01:01 -0600 Message-Id: <3.0.3.32.19971110035805.006cab94@bugs.us.dell.com> X-Sender: tony@bugs.us.dell.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (32) Date: Mon, 10 Nov 1997 03:58:05 -0600 To: Terry Lambert From: Tony Overfield Subject: Re: >64MB Cc: mike@smith.net.au, hackers@FreeBSD.ORG In-Reply-To: <199711090753.AAA17086@usr06.primenet.com> References: <3.0.3.32.19971106141214.006d5438@bugs.us.dell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk At 07:53 AM 11/9/97 +0000, Terry Lambert wrote: >3. Something else. > >A) Switch to protected mode. >B) Set up a TSS and call gate. >C) Set up a memory map for real mode, excluding the last 64k in > the 640k->1M window. For it, you leave it unmapped. >D) Set up a data area below the 64k that the code stores what area > of high memory you want to access. >E) "Return" to real mode by calling through the gate. >F) When you need to access a 64k chunk abouve 1M, set which one you > want in the data area, and then access it as if it were in the > 64k region. >G) Take the fault in protected mode. Examine the data region. Map > the desired region in the Real mode last 64k. Return. > >This is not quite trivial, but it's not quite impossible, either. No, it's not impossible to do, it's just useless to do, IMHO, for the job at hand. I don't see any reason to turn the bootloader into a vm86() program that plays games like this just to copy to memory above 1 MB, since it's far easier to just switch modes and copy it directly. >There are several other you can do using suspend/resume instructions and >similar tricks Suspend instruction? I could have sworn I knew them all by heart. If you're referring to SMI mode, that's not an option that's available to you, the BIOS owns that. If your book was discussing that as a way to copy memory around, it must have been an educational example. >(documented in the Van Gilluwe book -- I assume that's >what you were referring to in #1? #1 was the well-known method of setting maximal limits on the descriptors before returning to real mode. No, I don't have that book. - Tony