Date: Mon, 10 Nov 1997 03:58:05 -0600 From: Tony Overfield <tony@dell.com> To: Terry Lambert <tlambert@primenet.com> Cc: mike@smith.net.au, hackers@FreeBSD.ORG Subject: Re: >64MB Message-ID: <3.0.3.32.19971110035805.006cab94@bugs.us.dell.com> In-Reply-To: <199711090753.AAA17086@usr06.primenet.com> References: <3.0.3.32.19971106141214.006d5438@bugs.us.dell.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3.0.3.32.19971110035805.006cab94>