delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/23/00:15:14

Message-Id: <9711230513.AA13386@gcef.gc.maricopa.edu>
Date: Sat, 22 Nov 1997 22:13:57 -0700 (MST)
From: "Joshua James Turpen" <44699 AT ef DOT gc DOT maricopa DOT edu>
To: djgpp AT delorie DOT com
Subject: EVIL DPMI tweaking

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019