Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.

This commit is contained in:
Sebastian Lackner
2015-02-08 17:44:07 +01:00
parent cb402d63de
commit 28fc684ff9
10 changed files with 92 additions and 28 deletions

View File

@@ -1 +0,0 @@
Fixes: Implement stub for ntoskrnl.IoGetAttachedDeviceReference

View File

@@ -1 +0,0 @@
Fixes: Add stub for KeWaitForMultipleObjects

View File

@@ -0,0 +1,72 @@
From f52a9242c2cbe9e0efe49d1d3e17d37ceedf9557 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov@etersoft.ru>
Date: Thu, 29 Jan 2015 23:39:18 +0100
Subject: ntoskrnl.exe: Add stubs for ExAcquireFastMutexUnsafe and
ExReleaseFastMutexUnsafe.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 28 ++++++++++++++++++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 4 ++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index edd83de..d33fe6f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -293,6 +293,34 @@ NTSTATUS CDECL wine_ntoskrnl_main_loop( HANDLE stop_event )
/***********************************************************************
+ * ExAcquireFastMutexUnsafe (NTOSKRNL.EXE.@)
+ */
+#ifdef DEFINE_FASTCALL1_ENTRYPOINT
+DEFINE_FASTCALL1_ENTRYPOINT(ExAcquireFastMutexUnsafe)
+void WINAPI __regs_ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
+#else
+void WINAPI ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
+#endif
+{
+ FIXME("(%p): stub\n", FastMutex);
+}
+
+
+/***********************************************************************
+ * ExReleaseFastMutexUnsafe (NTOSKRNL.EXE.@)
+ */
+#ifdef DEFINE_FASTCALL1_ENTRYPOINT
+DEFINE_FASTCALL1_ENTRYPOINT(ExReleaseFastMutexUnsafe)
+void WINAPI __regs_ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
+#else
+void WINAPI ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
+#endif
+{
+ FIXME("(%p): stub\n", FastMutex);
+}
+
+
+/***********************************************************************
* IoAcquireCancelSpinLock (NTOSKRNL.EXE.@)
*/
void WINAPI IoAcquireCancelSpinLock(PKIRQL irql)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 52c7fbf..2f08945 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -1,4 +1,4 @@
-@ stub ExAcquireFastMutexUnsafe
+@ stdcall -norelay ExAcquireFastMutexUnsafe(ptr)
@ stub ExAcquireRundownProtection
@ stub ExAcquireRundownProtectionEx
@ stub ExInitializeRundownProtection
@@ -8,7 +8,7 @@
@ stub ExInterlockedPopEntrySList
@ stub ExInterlockedPushEntrySList
@ stub ExReInitializeRundownProtection
-@ stub ExReleaseFastMutexUnsafe
+@ stdcall -norelay ExReleaseFastMutexUnsafe(ptr)
@ stub ExReleaseResourceLite
@ stub ExReleaseRundownProtection
@ stub ExReleaseRundownProtectionEx
--
2.2.2

View File

@@ -0,0 +1,3 @@
Fixes: Add stub for ntoskrnl.KeWaitForMultipleObjects
Fixes: Implement stub for ntoskrnl.IoGetAttachedDeviceReference
Fixes: Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe

View File

@@ -137,8 +137,7 @@ patch_enable_all ()
enable_ntdll_WinSqm="$1"
enable_ntoskrnl_DriverTest="$1"
enable_ntoskrnl_Emulator="$1"
enable_ntoskrnl_IoGetAttachedDeviceReference="$1"
enable_ntoskrnl_KeWaitForMultipleObjects="$1"
enable_ntoskrnl_Stubs="$1"
enable_nvapi_Stub_DLL="$1"
enable_nvcuda_CUDA_Support="$1"
enable_nvcuvid_CUDA_Video_Support="$1"
@@ -439,11 +438,8 @@ patch_enable ()
ntoskrnl-Emulator)
enable_ntoskrnl_Emulator="$2"
;;
ntoskrnl-IoGetAttachedDeviceReference)
enable_ntoskrnl_IoGetAttachedDeviceReference="$2"
;;
ntoskrnl-KeWaitForMultipleObjects)
enable_ntoskrnl_KeWaitForMultipleObjects="$2"
ntoskrnl-Stubs)
enable_ntoskrnl_Stubs="$2"
;;
nvapi-Stub_DLL)
enable_nvapi_Stub_DLL="$2"
@@ -2332,29 +2328,21 @@ if test "$enable_ntoskrnl_Emulator" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntoskrnl-IoGetAttachedDeviceReference
# Patchset ntoskrnl-Stubs
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h, include/ntdef.h
# |
if test "$enable_ntoskrnl_IoGetAttachedDeviceReference" -eq 1; then
patch_apply ntoskrnl-IoGetAttachedDeviceReference/0001-ntoskrnl.exe-Add-stub-for-IoGetAttachedDeviceReferen.patch
(
echo '+ { "Alexander Morozov", "ntoskrnl.exe: Add stub for IoGetAttachedDeviceReference.", 1 },';
) >> "$patchlist"
fi
# Patchset ntoskrnl-KeWaitForMultipleObjects
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ntdef.h
# |
if test "$enable_ntoskrnl_KeWaitForMultipleObjects" -eq 1; then
patch_apply ntoskrnl-KeWaitForMultipleObjects/0001-include-Remove-several-duplicate-definitions-from-nt.patch
patch_apply ntoskrnl-KeWaitForMultipleObjects/0002-ntoskrnl.exe-add-KeWaitForMultipleObjects-stub.patch
if test "$enable_ntoskrnl_Stubs" -eq 1; then
patch_apply ntoskrnl-Stubs/0001-include-Remove-several-duplicate-definitions-from-nt.patch
patch_apply ntoskrnl-Stubs/0002-ntoskrnl.exe-add-KeWaitForMultipleObjects-stub.patch
patch_apply ntoskrnl-Stubs/0003-ntoskrnl.exe-Add-stub-for-IoGetAttachedDeviceReferen.patch
patch_apply ntoskrnl-Stubs/0004-ntoskrnl.exe-Add-stubs-for-ExAcquireFastMutexUnsafe-.patch
(
echo '+ { "Sebastian Lackner", "include: Remove several duplicate definitions from ntdef.h.", 1 },';
echo '+ { "Austin English", "ntoskrnl.exe: add KeWaitForMultipleObjects stub.", 1 },';
echo '+ { "Alexander Morozov", "ntoskrnl.exe: Add stub for IoGetAttachedDeviceReference.", 1 },';
echo '+ { "Alexander Morozov", "ntoskrnl.exe: Add stubs for ExAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafe.", 1 },';
) >> "$patchlist"
fi