From 2263ec0d3db07c064541ab0b66108a3f81ae9b1a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sun, 24 May 2020 17:40:24 +1000 Subject: [PATCH] Add ntoskrnl.exe-KeSetSystemAffinityThreadEx patchset --- ...Add-KeSetSystemAffinityThreadEx-stub.patch | 47 +++++++++++++++++++ .../definition | 3 ++ patches/patchinstall.sh | 19 ++++++++ 3 files changed, 69 insertions(+) create mode 100644 patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/0001-ntoskrnl.exe-Add-KeSetSystemAffinityThreadEx-stub.patch create mode 100644 patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/definition diff --git a/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/0001-ntoskrnl.exe-Add-KeSetSystemAffinityThreadEx-stub.patch b/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/0001-ntoskrnl.exe-Add-KeSetSystemAffinityThreadEx-stub.patch new file mode 100644 index 00000000..1a711d7d --- /dev/null +++ b/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/0001-ntoskrnl.exe-Add-KeSetSystemAffinityThreadEx-stub.patch @@ -0,0 +1,47 @@ +From 2245f7f36233aa0fa07aa20b6972b05bfb3b1d0b Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Sat, 23 May 2020 18:45:25 +1000 +Subject: [PATCH] ntoskrnl.exe: Add KeSetSystemAffinityThreadEx stub + +Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49219 +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ + dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + + 2 files changed, 10 insertions(+) + +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c +index 80f18b64d15d..bb5fbdbe17c3 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.c ++++ b/dlls/ntoskrnl.exe/ntoskrnl.c +@@ -2459,6 +2459,15 @@ VOID WINAPI KeSetSystemAffinityThread(KAFFINITY Affinity) + FIXME("(%lx) stub\n", Affinity); + } + ++/*********************************************************************** ++ * KeSetSystemAffinityThreadEx (NTOSKRNL.EXE.@) ++ */ ++KAFFINITY WINAPI KeSetSystemAffinityThreadEx(KAFFINITY Affinity) ++{ ++ FIXME("(%lx) stub\n", Affinity); ++ ++ return 0; ++} + + /*********************************************************************** + * KeRevertToUserAffinityThread (NTOSKRNL.EXE.@) +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +index cae3ff34426b..a1e5e28203f5 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec ++++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +@@ -633,6 +633,7 @@ + @ stdcall KeSetPriorityThread(ptr long) + @ stub KeSetProfileIrql + @ stdcall KeSetSystemAffinityThread(long) ++@ stdcall KeSetSystemAffinityThreadEx(long) + @ stdcall KeSetTargetProcessorDpc(ptr long) + @ stub KeSetTimeIncrement + @ stub KeSetTimer +-- +2.26.2 + diff --git a/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/definition b/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/definition new file mode 100644 index 00000000..5b5851d7 --- /dev/null +++ b/patches/ntoskrnl.exe-KeSetSystemAffinityThreadEx/definition @@ -0,0 +1,3 @@ +Fixes: [49224] ntoskrnl.exe: Add KeGenericCallDpc stub +Fixes: ntoskrnl.exe: Add KeSignalCallDpcSynchronize stub +Fixes: ntoskrnl.exe: Add KeSignalCallDpcDone stub diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index e8f7854e..6b7e1b16 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -213,6 +213,7 @@ patch_enable_all () enable_ntdll_x86_64_SegDs="$1" enable_ntoskrnl_Stubs="$1" enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$1" + enable_ntoskrnl_exe_KeSetSystemAffinityThreadEx="$1" enable_nvapi_Stub_DLL="$1" enable_nvcuda_CUDA_Support="$1" enable_nvcuvid_CUDA_Video_Support="$1" @@ -742,6 +743,9 @@ patch_enable () ntoskrnl.exe-KdRefreshDebuggerNotPresent) enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$2" ;; + ntoskrnl.exe-KeSetSystemAffinityThreadEx) + enable_ntoskrnl_exe_KeSetSystemAffinityThreadEx="$2" + ;; nvapi-Stub_DLL) enable_nvapi_Stub_DLL="$2" ;; @@ -4951,6 +4955,21 @@ if test "$enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent" -eq 1; then ) >> "$patchlist" fi +# Patchset ntoskrnl.exe-KeSetSystemAffinityThreadEx +# | +# | This patchset fixes the following Wine bugs: +# | * [#49224] ntoskrnl.exe: Add KeGenericCallDpc stub +# | +# | Modified files: +# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec +# | +if test "$enable_ntoskrnl_exe_KeSetSystemAffinityThreadEx" -eq 1; then + patch_apply ntoskrnl.exe-KeSetSystemAffinityThreadEx/0001-ntoskrnl.exe-Add-KeSetSystemAffinityThreadEx-stub.patch + ( + printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add KeSetSystemAffinityThreadEx stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset nvcuvid-CUDA_Video_Support # | # | This patchset has the following (direct or indirect) dependencies: