Zebediah Figura z.figura12@gmail.com writes:
On 12/04/2017 05:44 AM, Alexandre Julliard wrote:
Zebediah Figura z.figura12@gmail.com writes:
- /* Check for pending events. */
- output( "\t.byte 0x64\n\ttestl $0xffffffff,(%d)\n", VM86_PENDING_OFFSET );
- output( "\tje %s\n", asm_name("DPMI_PendingEventCheck_Cleanup") );
- output( "\t.byte 0x64\n\ttestl $0xffffffff,(%d)\n", DPMI_VIF_OFFSET );
- output( "\tje %s\n", asm_name("DPMI_PendingEventCheck_Cleanup") );
This doesn't seem right. Are you sure it's safe to remove these checks?
As far as I can tell, those flags shouldn't be modified from 32-bit code. But I could be wrong.
Do you know of a program that relies on pending interrupts?
I'm not sure how 32-bit code is relevant, this is used by DOS apps that use DPMI and handle hardware events. Since we add an event check when handling a VM86_STI exception, it wouldn't surprise me if removing the checks above caused an infinite loop.