I don't think it works in V86 mode, however. These programs never work
with memory managers. They always seem to want real mode.
Linus wrote:
> "Brandon S. Allbery KF8NH": "having System.map reflect the running kernel" (Sep 6, 6:48):
> > In your [Linus's] message of Tue, 05 Sep 1995 07:59:21 +0300, you write:
> > +-----
> > | > segments with 4GB limit and then go to real mode without reloading them
> > | > with 64K segments. Then one can accesss all 4GB in memory (for example
> > |
> > | Is this guaranteed to work? I suspect it will break on many machines
It apparently works on Cyrix and NexGen and others... I think you can count
on it.
> > +-----
> >
> > Err, how could it work?
> >
> > (a) In real mode segment registers contain physical addresses (left-shifted,
> > but still physical addresses), not segment descriptors.
> >
> > (b) Even if you use v86 mode instead, you can still only wedge 16 bits into
> > an address field (or address offset field) of an instruction. This is a
> > major part of BIOS compatibility, so even if you could trick the processor
> > into taking 32-bit addresses in v86 mode you would then be BIOS-incompatible.
>
> Actually, a x86 is a stranger beast than you probably realize.
>
> What the original poster suggested really _might_ work, because a x86
> internally doesn't really do what you think it does by just looking at
> the code.
[Interesting stuff deleted]