[bug 718] Executing dos DPMI programs
Sylvain Petreolle
spetreolle at yahoo.fr
Tue Nov 26 03:42:23 CST 2002
--- Jukka Heinonen <jhei at iki.fi> a écrit : > > Does someone has
success when executing DPMI programs ?
> > Every program I try to execute at this time fails,
> > going to the debugger, saying :
> >
> > Unhandled exception: privileged instruction in 32-bit code
> > (0x00000000).
> > In 32-bit mode.
> > 0x00000000: int $0x31
>
> DPMI16 programs should work as should simple DPMI32 programs.
> However, most DPMI32 programs are not even supposed to work
> because there is no real implementation of 32-bit interrupt
> handling. It is on my TODO list but I'm currently working on
> moving interrupt handlers to winedos dll and I shall return
> to DPMI32 support after this.
>
Instead of that, couldn't we call DOSVM_EmulateInterruptPM ?
After all we are moving all msdos code to winedos.dll.
* DOSVM_EmulateInterruptPM
* Emulate software interrupt in 16-bit or 32-bit protected mode.
* Called from signal handler when intXX opcode is executed.
*
* Pushes interrupt frame to stack and changes instruction
* pointer to interrupt handler.
*/
> The problem is that Wine has no support for calling Wine
> functions from application context whose stack and code pointers
> use 32-bit segmented model. Wine interrupt emulation
> currently uses a simple scheme which works with any code pointer
> but which fails miserably if stack pointer is over 0xffff.
> The simplest fix would probably be to swap to 16-bit stack on
> entry to Wine interrupt handler. This would mean that only
> winedos dll needs to deal with 32-bit segmented stuff.
> I have a rather good idea on how this can be implemented.
>
> Anyway, your error message looks quite interesting because
> current Wine version emulates *all* interrupt opcodes in real
> mode, 16-bit protected mode and 32-bit protected mode and thus it
> should be impossible to get this error message. Are you sure
> you tried executing using the latest CVS version or at least
> the latest release?
>
> --
> Jukka Heinonen <http://www.iki.fi/jhei/>
>
___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
More information about the wine-devel
mailing list