delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/23/20:14:37

Date: Sat, 23 Apr 94 19:58:10 -0400
From: dj AT ctron DOT com (DJ Delorie)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: interrupts

Well, I got real-mode callbacks to be reliable.  In fact, there more
reliable than protected mode interrupts at the moment.  I tried my
best to ensure that the interrupt controller state was preserved as
best as I could and fixed the ds_tmpds bug posted.  Now, however, if I
switch back to testing protected mode interrupts (go32/vcpi mode)
after a few interrupts if I try to do printf() I get "Divide error"
and "Null Pointer Assignment" from go32.  Sometimes it just hangs.
Sometimes it re-execs go32 with no arguments (or jumps into main again
with a bogus stack).

The routine is hooking the IDT directly, so DS should be the same as
SS.  DPMISIM is setting up the thunk correctly (I like using gdb!).
The routines that get called have no local variables (there are only
two).

Anyone have any ideas?  This is the last of the interrupt problems; it
works correctly in DPMI mode for both real-mode callbacks and
protected-mode interrupt handlers.  These are hardware interrupts,
BTW.

DJ


- Raw text -


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