Re: AW: [Fwd: Re: EDE - Personal Suggestions and Ideas]

Gábor Lénárt
2004-05-28T07:39:08Z

On Thu, May 27, 2004 at 02:07:42PM -0700, Tommy McCabe wrote:
> Last time I checked, Minix 2.0.x didn't use 286
> protected mode- it had an edition for 386s+ and an
> edition for 8086s/286s. 286 protected mode isn't
> binarily comptible with real mode or 386 protected
> mode- at the very least, the memory handling work
> differently. However, there are various tricks to
> access over 640KB in real mode, like XMS and EMS.

XMS is not for accessing over 640K in real mode. First, it's over 1Mb
instead (strictly speaking it's FFFF:FFFF which is almost 1Mb+64K is
A20 is enabled, and it's called HMA), second XMS functions are mainly
limited to copy operations between >1Mb areas and/or <1Mb areas which
is done by switching into protected mode (so disable all interrupts etc)
to gain full 16Mb address space access on 286 for example, do the copy,
and then switch back to real mode. So it's not ideal at all ;-)

EMS is another thing, it's a scheme where you can access a "window" of
the >1Mb space below 1Mb, but it can be only done if:

* it's a 386+ system and the CPU is not in real mode but in virtual 8086
mode

- OR -

* the hardware has got direct support for EMS paging like some old
NEC 286 motherboard did (if I remember correctly)

As you can see, on 286 the only GOOD solution is to use protected mode
(or special hardware).

- Gábor (larta'H)
-
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html