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

@ -38,11 +38,12 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [17]:**
**Bugfixes and features included in the next upcoming release [19]:**
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
* Add library override instead of closing winecfg when pressing ENTER over the combobox ([Wine Bug #12804](https://bugs.winehq.org/show_bug.cgi?id=12804))
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
* Add stub for ntoskrnl.KeWaitForMultipleObjects
* Call DriverUnload function when unloading a device driver.
* Fix arguments for OSMesaMakeCurrent when using 16 bit formats
* Fix check for end_frame in RtlUnwindEx on x86_64. ([Wine Bug #34254](https://bugs.winehq.org/show_bug.cgi?id=34254))
@ -50,6 +51,7 @@ Included bug fixes and improvements
* Fix mouse jittering in Planetside 2 ([Wine Bug #32913](https://bugs.winehq.org/show_bug.cgi?id=32913))
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
* Implement threadpool wait objects
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
@ -67,7 +69,7 @@ Included bug fixes and improvements
* Add stub for D3DXComputeNormalMap
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
* Add stub for D3DXIntersect
* Add stub for KeWaitForMultipleObjects
* ~~Add stub for KeWaitForMultipleObjects~~
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Add stubs for D3DXCreateAnimationController interface
* Add support for GetPropValue to PulseAudio backend

1
debian/changelog vendored
View File

@ -15,6 +15,7 @@ wine-staging (1.7.36) UNRELEASED; urgency=low
* Added patch to implement NVIDIA video encoder library (nvencodeapi).
* Added patch to make nvcuda.dll compatible with CUDA 7.0.
* Added patch to implement stub for ntoskrnl.IoGetAttachedDeviceReference.
* Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.
* Removed patch to add additional tests for SLGetWindowsInformationDWORD (accepted upstream).
* Removed patch to avoid filling KdHelp structure for usermode applications (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 25 Jan 2015 05:58:36 +0100

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