Re: Seeing VERSIONINFO under Vista?



I haven't looked at the 286 architecture since the first year it came out, so that's well
over 20 years ago now. So I'll trust your description.
joe

On Sun, 27 May 2007 20:56:44 -0700, "Alexander Grigoriev" <alegr@xxxxxxxxxxxxx> wrote:

80286 didn't have virtual memory map, nor virtual mode. It only had
segmentation through a LDT/GDT, it was called protected mode. The segment
base address could only go up to 16 MB.

Different sources refer to "1 GB virtual memory" of 80286. It's nothing else
as segment-based virtual memory. 64 KB*(8192 LDT selectors+8192 GDT
selectors) = 1GB. Swapping was supposed done at segment basis. Actually, by
switching LDT per task, it would be possible to have bigger VM.

Restart to real mode was later implemented through a triple fault. It was a
bit faster.


"Joseph M. Newcomer" <newcomer@xxxxxxxxxxxx> wrote in message
news:3cfj53dorqk36q109hdk9r5to5sv7fmm1i@xxxxxxxxxx
This was not an architectural restriction of the x86 family (which always
had supported
32-bit addresses, however weirdly configured) but a pin limitation issue
in the
implementaiton of the 286. However, that was not the real reason the 286
was
unsupportable. There were seriously deep architecture issues that could
not be handled in
the 286, for example, its virtual memory map had problems, and in an era
in which it was
still necessary to return to the BIOS frequently, it had been designed so
that once it
entered virtual mode, it could not be reset to real mode (this was where
the student paid
too much attention to the professor; we knew that having monotonic
mutability was critical
for security, but it required that you have software that worked entirely
in virtual
mode!). Read the BIOS code of a 286 to see how this was handled, but
don't forget your
anti-nausea pill! What it did was have a line in one of the I/O ports
that actually reset
the processor (I have this vague memory of port 60h or 61h). So when the
processor reset,
it started up in real mode. Before tweaking this bit, a bit was written
to the NVRAM to
say that this was a real-mode restart, so when it picked up the initail PC
out of the BIOS
and branched off to handle it, there was code that checked this bit and
then went off to
the virtual-to-real handler code to dispatch it.
joe


Joseph M. Newcomer [MVP]
email: newcomer@xxxxxxxxxxxx
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
.



Relevant Pages

  • [PATCH] x86: reboot_{32|64}.c unification
    ... warm Don't set the cold reboot flag ... smp Reboot by executing reset on BSP or other CPU ... The instruction that switches to real mode by writing to CR0 must be ...
    (Linux-Kernel)
  • Re: BIOS
    ... > I guess that coding assembly in Linux is different because ... > What is I only use the BIOS functions? ... the machine acts like "real mode" but is also in "protected mode" at ... Unfortunately, unlike the BIOS, no "standard" was ever agreed...device ...
    (alt.lang.asm)
  • Re: [PATCH 1/2] OLPC: Add support for calling into Open Firmware
    ... When the kernel calls into the BIOS, it has to do a grotesque dance that involves jumping through a chain of several segments of different flavors, thus gradually shutting down the multi-tiered address translation mechanism. ... Then, if the BIOS is actually operating in protected mode, it has to perform the inverse process, do the requested work, then go back into real mode to return to the kernel. ... f) Switching from protected mode to real mode (or in some cases, V86 mode instead, which requires an additional Task State Segment dance to set the IO permission mask) ...
    (Linux-Kernel)
  • Re: maximum hard drive size in Latitude cpi
    ... >>> to bios are a well known problem ... >>in real mode (I don't know why ... ... >>how big the disk is, then carries that info over to the multitasking o/s ...
    (comp.sys.laptops)
  • Re: Option ROM - Real Mode - PCI BAR
    ... I have a disk emulator called MEMDISK, which stashes the virtual disk in ... The problem here is that some software may expect the BIOS and option ... ROMs to contain "real mode only" code, and might use the GDT and/or ... if your option ROM attempts to use protected mode then the OS is ...
    (comp.lang.asm.x86)