Hi,
this latest addition to the tests throws an exception on win98. Screenshot attached.
Probably Alexandre's area, as he wrote the test.
Cheers,
Paul.
Paul Vriens Paul.Vriens@xs4all.nl writes:
this latest addition to the tests throws an exception on win98. Screenshot attached.
Probably Alexandre's area, as he wrote the test.
Yes, but I don't have win98 here. Could you please try to find out which of the various exception tests causes that?
* On Tue, 20 Dec 2005, Alexandre Julliard wrote:
- Paul Vriens Paul.Vriens@xs4all.nl writes:
this latest addition to the tests throws an exception on win98. Screenshot attached. Probably Alexandre's area, as he wrote the test.
Yes, but I don't have win98 here. Could you please try to find out which of the various exception tests causes that?
I am sorry for ignoring this conversation and sending separate question about the same issue.
If that's of some interest, here is the patch that I got rid of BSoDs on WinME with:
--- dlls/ntdll/tests/exception.c 2005-12-17 11:38:41.000000000 +0000 +++ /mnt/vcd2/wine/dlls/ntdll/tests/exception.c 2005-12-23 09:45:56.000000000 +0000 @@ -51,16 +51,41 @@ static const struct exception } exceptions[] = { /* test some privileged instructions */ +#if 0 // following two elements makes test stall on WinME { { 0x6c, 0xc3 }, /* insb (%dx); ret */ 0, 1, STATUS_PRIVILEGED_INSTRUCTION, 0 }, { { 0x6d, 0xc3 }, /* insl (%dx); ret */ 0, 1, STATUS_PRIVILEGED_INSTRUCTION, 0 }, +#endif +#if 0 // following two elements gives MSVCRTD dialog box saying: + /* + Debug Error! + + Program: + ...\WIN32_WINE_HEADERS\NTDLL_TEST.EXE + Modue: + File: i386\chkesp.c + Line: 42 + + The value of ESP was not properly saved across a function call. This is usually a result of + calling a function with one calling convention with a function pointer declared + with a different calling convention. + + (Press Retry to debug the application) + + Abort Retry Ignore + */ { { 0x6e, 0xc3 }, /* outsb (%dx); ret */ 0, 1, STATUS_PRIVILEGED_INSTRUCTION, 0 }, { { 0x6f, 0xc3 }, /* outsl (%dx); ret */ 0, 1, STATUS_PRIVILEGED_INSTRUCTION, 0 }, +#endif +#if 0 // BSoD: + // Windows protection error. You need to restart your computer. + // System halted. { { 0xe4, 0x11, 0xc3 }, /* inb $0x11,%al; ret */ 0, 2, STATUS_PRIVILEGED_INSTRUCTION, 0 }, +#endif { { 0xe5, 0x11, 0xc3 }, /* inl $0x11,%eax; ret */ 0, 2, STATUS_PRIVILEGED_INSTRUCTION, 0 }, { { 0xe6, 0x11, 0xc3 }, /* outb %al,$0x11; ret */ @@ -109,8 +134,10 @@ static const struct exception 0, 15, STATUS_PRIVILEGED_INSTRUCTION, 0 },
/* test invalid interrupt */ +#if 0 // BSoD: exception 0D in VMM { { 0xcd, 0xff, 0xc3 }, /* int $0xff; ret */ 0, 2, STATUS_ACCESS_VIOLATION, 2, { 0, 0xffffffff } }, +#endif
/* test moves to/from Crx */ { { 0x0f, 0x20, 0xc0, 0xc3 }, /* movl %cr0,%eax; ret */