Breakage in 'priviledged instructions' handling.

Jukka Heinonen jhei at iki.fi
Sun Oct 12 01:14:43 CDT 2003


Alexandre Julliard wrote:
> What changed is that emulation of these instructions was deliberately
> removed ;-)
>
> This was done for dll separation reasons, and because they are not
> emulated under NT either (which also means better performance for the
> exception handling). What happens if you run with Windows version set
> to NT?

Performance is not an issue. Signal handlers can simply check
version info and if platform ID is VER_PLATFORM_WIN32_WINDOWS,
instruction emulation is required. Another possibility is
to add instruction emulation hooks to NTDLL and make KERNEL
set these hooks only for some platform IDs. Actually
Windows XP/2003 already does provide this kind of hooks
(see AddVectoredExceptionHandler), although they are called
after first chance notification which may be a bit awkward
(and kernel handler should have higher priority than these have).

Anyway, even with some performance issues, it looks like
instruction emulation is needed for supporting some pure
Win95/98/ME programs. It would seem a bit strange we try very
hard to support Win31 and WinNT based programs but not those.

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



More information about the wine-devel mailing list