Mail Archives: djgpp/1997/11/23/00:15:14
I've been working on some EVIL tweaking of the DPMI spec. I've
successfully installed a ring 0 interrupt gate under cwsdpmi and win95
dpmi. My problem is that the descriptor for the ring 0 selector that the
interrupt gate points to resides in the LDT. This works great under
cwsdpmi, but not under win95. Under win95, if you switch to a different
task, win95 loads a new LDT for that task. That's not good if my
interrupt gate is still pointing to the LDT after it's changed.
My solution is to put the ring 0 selector in the GDT. The question is:
How do I get a GDT entry? Can I just extend the limit on the GDT by 8
bytes and put my descriptor there? Will that overwrite some vital system
code? Can I look for a descriptor in the GDT with a limit of zero and put
my descriptor there?
Thanks.
Josh
- Raw text -