Hm... think there's no other solution for the "change-the-current-
used-descriptor-problem" than copying all used descriptors to unused
gdt slots and resetting all selectors. (simulates changing gdt while
having the old values in descriptor caches) All code segments become
data segments. (Data segments get DPL 0?) So reloading for each selector traps and
we can emulate it.
Implemented this for cs and ljmp, it works so far...
(Only have to think about why ds..gs change during emulation...)

jens


Reply via email to