You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
From 0257e41671d17f7875cab2cdb0ae9fc3e7b071a8 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 27 Jan 2015 14:50:34 +0100
|
||||
Subject: include: Remove several duplicate definitions from ntdef.h.
|
||||
|
||||
FIXME: Should they removed from winternl.h instead? Whats the proper way
|
||||
to use both include files at the same time?
|
||||
---
|
||||
include/ntdef.h | 10 ----------
|
||||
1 file changed, 10 deletions(-)
|
||||
|
||||
diff --git a/include/ntdef.h b/include/ntdef.h
|
||||
index 83ecffd..8b35cef 100644
|
||||
--- a/include/ntdef.h
|
||||
+++ b/include/ntdef.h
|
||||
@@ -23,16 +23,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-typedef enum _EVENT_TYPE {
|
||||
- NotificationEvent,
|
||||
- SynchronizationEvent
|
||||
-} EVENT_TYPE;
|
||||
-
|
||||
-typedef enum _TIMER_TYPE {
|
||||
- NotificationTimer,
|
||||
- SynchronizationTimer
|
||||
-} TIMER_TYPE;
|
||||
-
|
||||
typedef enum _WAIT_TYPE {
|
||||
WaitAll,
|
||||
WaitAny,
|
||||
--
|
||||
2.2.1
|
||||
|
@@ -0,0 +1,58 @@
|
||||
From b3df25d2fc4e83fbd018c56c95f627a29a777429 Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Wed, 24 Dec 2014 15:35:23 -0600
|
||||
Subject: ntoskrnl.exe: add KeWaitForMultipleObjects stub
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 14 ++++++++++++++
|
||||
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
|
||||
2 files changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index af1626d..807a172 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "ntstatus.h"
|
||||
#define WIN32_NO_STATUS
|
||||
+#include "ntdef.h"
|
||||
#include "windef.h"
|
||||
#include "winternl.h"
|
||||
#include "excpt.h"
|
||||
@@ -1480,6 +1481,19 @@ NTSTATUS WINAPI KeWaitForSingleObject(PVOID Object,
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * KeWaitForMultipleObjects (NTOSKRNL.EXE.@)
|
||||
+ */
|
||||
+NTSTATUS WINAPI KeWaitForMultipleObjects(ULONG Count, PVOID Object[], WAIT_TYPE WaitType,
|
||||
+ KWAIT_REASON WaitReason, KPROCESSOR_MODE WaitMode,
|
||||
+ BOOLEAN Alertable, PLARGE_INTEGER Timeout,
|
||||
+ PKWAIT_BLOCK WaitBlockArray)
|
||||
+{
|
||||
+ FIXME( "stub: %u, %p, %d, %d, %d, %d, %p, %p\n", Count, Object, WaitType, WaitReason, WaitMode,
|
||||
+ Alertable, Timeout, WaitBlockArray );
|
||||
+ return STATUS_NOT_IMPLEMENTED;
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* IoRegisterFileSystem (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
VOID WINAPI IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject)
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index b824250..720ce3e 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -627,7 +627,7 @@
|
||||
@ stub KeUpdateRunTime
|
||||
@ stub KeUpdateSystemTime
|
||||
@ stub KeUserModeCallback
|
||||
-@ stub KeWaitForMultipleObjects
|
||||
+@ stdcall KeWaitForMultipleObjects(long ptr long long long long ptr ptr)
|
||||
@ stdcall KeWaitForMutexObject(ptr long long long ptr)
|
||||
@ stdcall KeWaitForSingleObject(ptr long long long ptr)
|
||||
@ stub KiBugCheckData
|
||||
--
|
||||
2.2.1
|
||||
|
@@ -0,0 +1,59 @@
|
||||
From d7911933e870e44358ae93c81f13020af49fecf4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Morozov <amorozov@etersoft.ru>
|
||||
Date: Thu, 29 Jan 2015 23:23:13 +0100
|
||||
Subject: ntoskrnl.exe: Add stub for IoGetAttachedDeviceReference.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++
|
||||
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
|
||||
include/ddk/wdm.h | 1 +
|
||||
3 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index cdc5305..edd83de 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -837,6 +837,15 @@ NTSTATUS WINAPI IofCallDriver( DEVICE_OBJECT *device, IRP *irp )
|
||||
return IoCallDriver( device, irp );
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * IoGetAttachedDeviceReference (NTOSKRNL.EXE.@)
|
||||
+ */
|
||||
+PDEVICE_OBJECT WINAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT obj)
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", obj);
|
||||
+
|
||||
+ return obj;
|
||||
+}
|
||||
|
||||
/***********************************************************************
|
||||
* IoGetRelatedDeviceObject (NTOSKRNL.EXE.@)
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index 11d1c62..52c7fbf 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -374,7 +374,7 @@
|
||||
@ stdcall IoFreeMdl(ptr)
|
||||
@ stub IoFreeWorkItem
|
||||
@ stdcall IoGetAttachedDevice(ptr)
|
||||
-@ stub IoGetAttachedDeviceReference
|
||||
+@ stdcall IoGetAttachedDeviceReference(ptr)
|
||||
@ stub IoGetBaseFileSystemDeviceObject
|
||||
@ stub IoGetBootDiskInformation
|
||||
@ stdcall IoGetConfigurationInformation()
|
||||
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
|
||||
index e4f693a..121ca45 100644
|
||||
--- a/include/ddk/wdm.h
|
||||
+++ b/include/ddk/wdm.h
|
||||
@@ -1208,6 +1208,7 @@ void WINAPI IoDeleteDevice(DEVICE_OBJECT*);
|
||||
void WINAPI IoDeleteDriver(DRIVER_OBJECT*);
|
||||
NTSTATUS WINAPI IoDeleteSymbolicLink(UNICODE_STRING*);
|
||||
void WINAPI IoFreeIrp(IRP*);
|
||||
+PDEVICE_OBJECT WINAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT);
|
||||
PEPROCESS WINAPI IoGetCurrentProcess(void);
|
||||
NTSTATUS WINAPI IoGetDeviceInterfaces(const GUID*,PDEVICE_OBJECT,ULONG,PWSTR*);
|
||||
NTSTATUS WINAPI IoGetDeviceObjectPointer(UNICODE_STRING*,ACCESS_MASK,PFILE_OBJECT*,PDEVICE_OBJECT*);
|
||||
--
|
||||
2.2.2
|
||||
|
@@ -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
|
||||
|
3
patches/ntoskrnl-Stubs/definition
Normal file
3
patches/ntoskrnl-Stubs/definition
Normal 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
|
Reference in New Issue
Block a user