mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
100 lines
3.4 KiB
Diff
100 lines
3.4 KiB
Diff
From d41ae9a2e8182b9a57a9b110905a4ffb0dd81e8f Mon Sep 17 00:00:00 2001
|
|
From: Austin English <austinenglish@gmail.com>
|
|
Date: Thu, 9 Feb 2017 16:51:25 -0600
|
|
Subject: ntoskrnl.exe: add KeAcquireInStackQueuedSpinLock stub (try 2)
|
|
|
|
Signed-off-by: Austin English <austinenglish@gmail.com>
|
|
---
|
|
dlls/hal/hal.spec | 2 +-
|
|
dlls/ntoskrnl.exe/ntoskrnl.c | 13 +++++++++++++
|
|
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
|
|
include/ddk/wdm.h | 10 ++++++++++
|
|
tools/make_specfiles | 4 ++++
|
|
5 files changed, 29 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/dlls/hal/hal.spec b/dlls/hal/hal.spec
|
|
index bd6bc35736a..f441ac5271f 100644
|
|
--- a/dlls/hal/hal.spec
|
|
+++ b/dlls/hal/hal.spec
|
|
@@ -4,7 +4,7 @@
|
|
@ stub HalClearSoftwareInterrupt
|
|
@ stub HalRequestSoftwareInterrupt
|
|
@ stub HalSystemVectorDispatchEntry
|
|
-@ stub KeAcquireInStackQueuedSpinLock
|
|
+@ stdcall -norelay KeAcquireInStackQueuedSpinLock(ptr ptr) ntoskrnl.exe.KeAcquireInStackQueuedSpinLock
|
|
@ stub KeAcquireInStackQueuedSpinLockRaiseToSynch
|
|
@ stub KeAcquireQueuedSpinLock
|
|
@ stub KeAcquireQueuedSpinLockRaiseToSynch
|
|
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
|
index 06320d03cc9..b8f6a25714a 100644
|
|
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
|
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
|
@@ -3188,3 +3188,16 @@ VOID WINAPI KeClearEvent(PRKEVENT event)
|
|
{
|
|
FIXME("stub: %p\n", event);
|
|
}
|
|
+
|
|
+/***********************************************************************
|
|
+ * KeAcquireInStackQueuedSpinLock (NTOSKRNL.EXE.@)
|
|
+ */
|
|
+#ifdef DEFINE_FASTCALL2_ENTRYPOINT
|
|
+DEFINE_FASTCALL2_ENTRYPOINT( KeAcquireInStackQueuedSpinLock )
|
|
+void WINAPI __regs_KeAcquireInStackQueuedSpinLock(KSPIN_LOCK *spinlock, KLOCK_QUEUE_HANDLE *handle)
|
|
+#else
|
|
+void WINAPI KeAcquireInStackQueuedSpinLock(KSPIN_LOCK *spinlock, KLOCK_QUEUE_HANDLE *handle)
|
|
+#endif
|
|
+{
|
|
+ FIXME( "stub: %p %p\n", spinlock, handle);
|
|
+}
|
|
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
|
index 62c7fb496cf..ba18200c503 100644
|
|
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
|
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
|
@@ -41,6 +41,7 @@
|
|
@ stub IoWritePartitionTable
|
|
@ stdcall -norelay IofCallDriver(ptr ptr)
|
|
@ stdcall -norelay IofCompleteRequest(ptr long)
|
|
+@ stdcall -norelay KeAcquireInStackQueuedSpinLock(ptr ptr)
|
|
@ stub KeAcquireInStackQueuedSpinLockAtDpcLevel
|
|
@ stub KeReleaseInStackQueuedSpinLockFromDpcLevel
|
|
@ stub KeSetTimeUpdateNotifyRoutine
|
|
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
|
|
index 4c696f776dd..61374a7ed43 100644
|
|
--- a/include/ddk/wdm.h
|
|
+++ b/include/ddk/wdm.h
|
|
@@ -1210,6 +1210,16 @@ typedef struct _CALLBACK_OBJECT
|
|
UCHAR reserved[3];
|
|
} CALLBACK_OBJECT, *PCALLBACK_OBJECT;
|
|
|
|
+typedef struct _KSPIN_LOCK_QUEUE {
|
|
+ struct _KSPIN_LOCK_QUEUE * volatile Next;
|
|
+ volatile PKSPIN_LOCK Lock;
|
|
+} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
|
|
+
|
|
+typedef struct _KLOCK_QUEUE_HANDLE {
|
|
+ KSPIN_LOCK_QUEUE LockQueue;
|
|
+ KIRQL OldIrql;
|
|
+} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
|
+
|
|
typedef NTSTATUS (NTAPI EX_CALLBACK_FUNCTION)(void *CallbackContext, void *Argument1, void *Argument2);
|
|
typedef EX_CALLBACK_FUNCTION *PEX_CALLBACK_FUNCTION;
|
|
|
|
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
|
index 1e2400e4c7f..505bdf1e791 100755
|
|
--- a/tools/make_specfiles
|
|
+++ b/tools/make_specfiles
|
|
@@ -338,6 +338,10 @@ my @dll_groups =
|
|
"bcrypt",
|
|
"ncrypt",
|
|
],
|
|
+ [
|
|
+ "ntoskrnl.exe",
|
|
+ "hal",
|
|
+ ]
|
|
);
|
|
|
|
my $update_flags = 0;
|
|
--
|
|
2.11.0
|
|
|