Add ntoskrnl.exe-KdRefreshDebuggerNotPresent patchset

This commit is contained in:
Alistair Leslie-Hughes 2020-05-24 17:38:27 +10:00
parent 7b5a0e5a94
commit 2c7588eb2f
3 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,60 @@
From 78788eadc3924bf11db3cd3185c448b1559d9b37 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sat, 23 May 2020 18:17:52 +1000
Subject: [PATCH] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49216
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
include/ddk/wdm.h | 1 +
3 files changed, 11 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 77d6ccd38ab5..80f18b64d15d 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3846,6 +3846,15 @@ NTSTATUS WINAPI SeLocateProcessImageName(PEPROCESS process, UNICODE_STRING **ima
return STATUS_NOT_IMPLEMENTED;
}
+/*********************************************************************
+ * KdRefreshDebuggerNotPresent (NTOSKRNL.@)
+ */
+BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void)
+{
+ FIXME("stub\n");
+ return FALSE;
+}
+
/*********************************************************************
* KeFlushQueuedDpcs (NTOSKRNL.@)
*/
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 651fe4852b93..cae3ff34426b 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -48,6 +48,7 @@
@ stub IoWritePartitionTable
@ stdcall -fastcall IofCallDriver(ptr ptr)
@ stdcall -fastcall IofCompleteRequest(ptr long)
+@ stdcall KdRefreshDebuggerNotPresent()
@ stdcall -arch=!i386 KeAcquireInStackQueuedSpinLock(ptr ptr)
@ stdcall -fastcall KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr)
@ stdcall KeEnterGuardedRegion()
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 707eca0b32f5..4f4fbcbef4e9 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1675,6 +1675,7 @@ void WINAPI IoReleaseRemoveLockEx(IO_REMOVE_LOCK*,void*,ULONG);
NTSTATUS WINAPI IoSetDeviceInterfaceState(UNICODE_STRING*,BOOLEAN);
NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
+BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void);
void FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel(KSPIN_LOCK*,KLOCK_QUEUE_HANDLE*);
#ifdef __i386__
void WINAPI KeAcquireSpinLock(KSPIN_LOCK*,KIRQL*);
--
2.26.2

View File

@ -0,0 +1 @@
Fixes: [49216] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub

View File

@ -212,6 +212,7 @@ patch_enable_all ()
enable_ntdll_set_full_cpu_context="$1"
enable_ntdll_x86_64_SegDs="$1"
enable_ntoskrnl_Stubs="$1"
enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$1"
enable_nvapi_Stub_DLL="$1"
enable_nvcuda_CUDA_Support="$1"
enable_nvcuvid_CUDA_Video_Support="$1"
@ -738,6 +739,9 @@ patch_enable ()
ntoskrnl-Stubs)
enable_ntoskrnl_Stubs="$2"
;;
ntoskrnl.exe-KdRefreshDebuggerNotPresent)
enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent="$2"
;;
nvapi-Stub_DLL)
enable_nvapi_Stub_DLL="$2"
;;
@ -4932,6 +4936,21 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntoskrnl.exe-KdRefreshDebuggerNotPresent
# |
# | This patchset fixes the following Wine bugs:
# | * [#49216] ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h
# |
if test "$enable_ntoskrnl_exe_KdRefreshDebuggerNotPresent" -eq 1; then
patch_apply ntoskrnl.exe-KdRefreshDebuggerNotPresent/0001-ntoskrnl.exe-Add-KdRefreshDebuggerNotPresent-stub.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add KdRefreshDebuggerNotPresent stub.", 1 },';
) >> "$patchlist"
fi
# Patchset nvcuvid-CUDA_Video_Support
# |
# | This patchset has the following (direct or indirect) dependencies: