From 98884516a132edd0b5ddc919517210d7062c79fa Mon Sep 17 00:00:00 2001 From: belliash Date: Thu, 16 Feb 2023 18:34:46 +0100 Subject: [PATCH] Implement KeInitializeSpinLock() routine --- sdk/xtdk/kefuncs.h | 4 ++++ xtoskrnl/CMakeLists.txt | 1 + xtoskrnl/ke/spinlock.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 xtoskrnl/ke/spinlock.c diff --git a/sdk/xtdk/kefuncs.h b/sdk/xtdk/kefuncs.h index 984d141..423fb41 100644 --- a/sdk/xtdk/kefuncs.h +++ b/sdk/xtdk/kefuncs.h @@ -16,6 +16,10 @@ /* Kernel services routines forward references */ +XTAPI +VOID +KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock); + XTAPI VOID KeInitializeTimer(OUT PKTIMER Timer); diff --git a/xtoskrnl/CMakeLists.txt b/xtoskrnl/CMakeLists.txt index 50d3223..53dae36 100644 --- a/xtoskrnl/CMakeLists.txt +++ b/xtoskrnl/CMakeLists.txt @@ -18,6 +18,7 @@ list(APPEND XTOSKRNL_SOURCE ${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/ioport.c ${XTOSKRNL_SOURCE_DIR}/ke/globals.c ${XTOSKRNL_SOURCE_DIR}/ke/krnlinit.c + ${XTOSKRNL_SOURCE_DIR}/ke/spinlock.c ${XTOSKRNL_SOURCE_DIR}/ke/timer.c ${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/krnlinit.c ${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/proc.c diff --git a/xtoskrnl/ke/spinlock.c b/xtoskrnl/ke/spinlock.c new file mode 100644 index 0000000..861597f --- /dev/null +++ b/xtoskrnl/ke/spinlock.c @@ -0,0 +1,28 @@ +/** + * PROJECT: ExectOS + * COPYRIGHT: See COPYING.md in the top level directory + * FILE: xtoskrnl/ke/spinlock.c + * DESCRIPTION: Spinlocks support + * DEVELOPERS: Rafal Kupiec + */ + +#include + + +/** + * Initializes a spinlock. + * + * @param SpinLock + * Supplies a pointer to a kernel spin lock. + * + * @return This routine does not return any value. + * + * @since NT 3.5 + */ +XTAPI +VOID +KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock) +{ + /* Zero initialize spinlock */ + *SpinLock = 0; +}