Mail Archives: djgpp/1994/04/23/20:14:37
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 -