From 0fc14f6f8214251b684bfe5e227360cc4ac16357 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Wed, 7 Feb 2024 22:19:34 +0100 Subject: [PATCH] Export spinlock related routines --- sdk/xtdk/kefuncs.h | 8 ++++++++ xtoskrnl/includes/kei.h | 8 -------- xtoskrnl/xtoskrnl.spec | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/sdk/xtdk/kefuncs.h b/sdk/xtdk/kefuncs.h index 6297e2c..5e1f765 100644 --- a/sdk/xtdk/kefuncs.h +++ b/sdk/xtdk/kefuncs.h @@ -16,6 +16,10 @@ /* Kernel services routines forward references */ +XTFASTCALL +VOID +KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel); + XTFASTCALL VOID KeAcquireSpinLock(IN OUT PKSPIN_LOCK SpinLock); @@ -73,6 +77,10 @@ KeReleaseSemaphore(IN PKSEMAPHORE Semaphore, IN LONG Adjustment, IN BOOLEAN Wait); +XTFASTCALL +VOID +KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel); + XTFASTCALL VOID KeReleaseSpinLock(IN OUT PKSPIN_LOCK SpinLock); diff --git a/xtoskrnl/includes/kei.h b/xtoskrnl/includes/kei.h index bbba82a..eb16866 100644 --- a/xtoskrnl/includes/kei.h +++ b/xtoskrnl/includes/kei.h @@ -13,10 +13,6 @@ /* Kernel services routines forward references */ -XTFASTCALL -VOID -KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel); - XTAPI VOID KeClearEvent(IN PKEVENT Event); @@ -75,10 +71,6 @@ XTFASTCALL KRUNLEVEL KeRaiseRunLevel(IN KRUNLEVEL RunLevel); -XTFASTCALL -VOID -KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_LEVEL LockLevel); - XTAPI LONG KeSetEvent(IN PKEVENT Event, diff --git a/xtoskrnl/xtoskrnl.spec b/xtoskrnl/xtoskrnl.spec index 97b4e47..9089cb9 100644 --- a/xtoskrnl/xtoskrnl.spec +++ b/xtoskrnl/xtoskrnl.spec @@ -11,6 +11,8 @@ @ cdecl HlIoPortOutByte(ptr long) @ cdecl HlIoPortOutLong(ptr long) @ cdecl HlIoPortOutShort(ptr long) +@ fastcall KeAcquireQueuedSpinLock(long) +@ fastcall KeAcquireSpinLock(ptr) @ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr) @ stdcall KeInitializeDpc(ptr ptr ptr) @ stdcall KeInitializeSemaphore(ptr long long) @@ -20,6 +22,8 @@ @ stdcall KeInitializeTimerEx(ptr long) @ stdcall KeReadSemaphoreState(ptr) @ stdcall KeReleaseSemaphore(ptr long long long) +@ fastcall KeReleaseQueuedSpinLock(long) +@ fastcall KeReleaseSpinLock(ptr) @ stdcall KeSetTargetProcessorDpc(ptr long) @ stdcall KeSignalCallDpcDone(ptr) @ stdcall KeSignalCallDpcSynchronize(ptr)