Hello,

just a quick question:  Kevin, you said you've already planned the use 
of a different address space in the monitor;  I was wondering how you
intend to perform the actual PDBR switch.

AFAIK there's only two ways to do it: either by placing the code that 
performs the switch into a page mapped to the same linear address in
both spaces, or else using a task switch that reloads the PDBR.

The first method is ugly as we need to force a particular linear address
inside the Linux address space, but the second method is somewhat ugly
as well as we need to load the GDT *before* the task switch, so that
the TSS descriptor is available, but then after the task switch, the
linear base address of the GDT will have changed :-/

What do you think?

Bye,
Ulrich

-- 
  Ulrich Weigand,
  IMMD 1, Universitaet Erlangen-Nuernberg,
  Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688

Reply via email to