From f3ccfc092bc91773cf38e9e265eac6385d50cbc8 Mon Sep 17 00:00:00 2001 From: Austin English Date: Tue, 7 Mar 2017 16:01:20 +0100 Subject: [PATCH] ntoskrnl.exe: Add KeAcquireInStackQueuedSpinLock stub. Signed-off-by: Austin English Signed-off-by: Sebastian Lackner Signed-off-by: Alexandre Julliard --- 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..b3db46c9275 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..404af769d21 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;