calls to int 3d corrupt the stack
admiral at corner.net
Tue Aug 19 00:38:44 CDT 2003
> FPU handling got broken over half a year ago when
> I removed separate interrupt DLL and added support
> for DPMI32. Interrupt DLL made sure that builtin
> protected mode interrupt handlers saw regular IRET
> return record on stack. Current protected mode
> interrupt code does not provide an IRET record and
> real mode interrupt code never did provide it.
The EIP on the stack, from what I saw in the trace, was pointing to the
interrupt. If we have that CS:IP available, then the offset math that I am
unsure of could be avoided and we could just use those values. It would be
optimal if we could tell the return code not to increment the instruction
pointer, although I doubt that we could do that.
My pointer math problem lies in the possibility that I could cross a real mode
segment boundary while working on the interrupt in protected mode. Is there
any way of forcing a return to the point at which the exception happened rather
than having program flow return at the next instruction?
Since you are working on code that handles both the real and protected mode
pointers, I figure that you would be the best source of information. I'd like
tog et time to work on making some more of the dos graphics code work.
--Robert 'Admiral' Coeyman
May you live as long as you wish and age but a single day.
http://www.dotguy.net/ admiral at corner.net
Webmaster/ Linux Administrator Computer Co-Op/CornerNet
More information about the wine-devel