[PATCH v2 1/2] ntdll: Add emulation for UMIP instructions.

Brendan Shanks bshanks at codeweavers.com
Tue Nov 19 13:04:07 CST 2019


> On Nov 14, 2019, at 12:31 AM, Alexandre Julliard <julliard at winehq.org> wrote:
> 
> Brendan Shanks <bshanks at codeweavers.com> writes:
> 
>> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47571
>> Signed-off-by: Brendan Shanks <bshanks at codeweavers.com>
>> ---
>> dlls/ntdll/Makefile.in     |   1 +
>> dlls/ntdll/signal_i386.c   |  19 +
>> dlls/ntdll/signal_x86_64.c |  19 +
>> dlls/ntdll/umip.c          | 780 +++++++++++++++++++++++++++++++++++++
>> dlls/ntdll/umip.h          |  21 +
>> 5 files changed, 840 insertions(+)
>> create mode 100644 dlls/ntdll/umip.c
>> create mode 100644 dlls/ntdll/umip.h
> 
> Please also merge this with the existing is_privileged_instr() functions
> in the respective signal_*.c files, we don't need to parse the code
> multiple times for the same exception.


Sure, I can do that. Did you want all the parsing/emulation code merged into the signal_*.c files, so there would be no separate umip.c file?
Or I can have is_privileged_instr() just detect the UMIP instructions and then call into the additional parsing/emulation in umip.c, this would remove the redundant virtual_uninterrupted_read_memory() call from umip.c.

Brendan


More information about the wine-devel mailing list