Jens Nerche wrote:

> Another question: lgdt emulation does a remapping of
> monitor. Remapping is unmap and map. Map (map_monitor
> in monitor.c) searches for
> unused entrys in (now the new) GDT and filles them with
> cs, ss and tss descritors. cs ist stored in nexus'
> mon_jmp_info.selector field. This is used in nexus
> while switching to guest: ljmp  (MON_JMP_INFO)(%ebx).

Correct.

> Now I _expect_ to see a new value in cs, but _find_
> still the old value 

What does that mean? How did you determine that?

> (of 0xb, so cs selects not the
> new descriptor found in map_monitor but the old one,
> which has now a different function in new gdt - vm
> crashes...).

Does the ljmp itself cause the GPF?  If so, the cs in
the exception frame is still the old one ...

Bye,
Ulrich

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

Reply via email to