Disable DPMI

Jukka Heinonen jhei at iki.fi
Tue Sep 21 16:31:49 CDT 2004

Robert Shearman:
> This patch disables DPMI. If sti has been executed beforehand and an 
> instruction (such as an interrupt) must be emulated then it can cause an 
> infinite loop around the enumation of the iret instruction in the DPMI 
> call. Even after (probably rather poorly) hacking around this issue I 
> still got unprivileged instruction exceptions from the iret instruction. 
> Without more expert eyes being cast on this code the only thing I can 
> suggest to fix non-DPMI applications with the above case is to disable 
> DPMI event checking.

Well, your patch actually just disables checking for asynchronous
events in DPMI mode, not the DPMI mode itself, which leaves open
whether you are trying to run a Win16 program or a DOS program
that does not need working IRQ handling in DPMI mode. I'm sure DPMI 
asynchronous event handling still has bugs and I guess disabling
it is acceptable if it looks like it causes problems and fixing 
the bugs seems to require too much work. However, the patch comment 
and the quote above tell me next to nothing about the bug you are 
seeing, more information would be required in order to have any 
hope of fixing the bug. And I'm probably going to be quite busy,
anyway, so I'm not sure when I have time to look at this bug.

Jukka Heinonen <http://www.iki.fi/jhei>

More information about the wine-patches mailing list