Ramon van Handel <[EMAIL PROTECTED]> wrote:

> The guest code runs in a segment that is completely flat,
> except that there is a piece "off the top" of the segment
> (i.e., it is not 4GB but 4GB-n*4k).  

Eh?  But the guest code wants to set up its own segments; of
course you could try to 'hack' the GDT/LDTs set up by the guest 
so that their base and limit is 'corrected' so that this piece
of linear address space is never accessible.  I don't see how
such a mapping would work, however  (after all, there is no
bijective mapping between 4GB and 4GB-n*4k :-/).

[ Just one example: the Win32s libraries want to set up a 
segment with limit 4GB and base 4GB-64k.  They use it with
offsets >64k so the linear addresses wrap around ...   How
do want to modify this LDT entry so that everything works as
the guest expects, but the linear address range at the top
is still not accessible by the client? ]

Bye,
Ulrich

Reply via email to