From 7b93c39348c82d48a58926bb7b6ac5c2f6a7ed0c Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Fri, 19 Dec 2025 19:12:50 +0100 Subject: [PATCH] Add early spin lock initialization --- xtoskrnl/ke/amd64/krnlinit.cc | 4 ++++ xtoskrnl/ke/i686/krnlinit.cc | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/xtoskrnl/ke/amd64/krnlinit.cc b/xtoskrnl/ke/amd64/krnlinit.cc index 985d7d1..c837b1f 100644 --- a/xtoskrnl/ke/amd64/krnlinit.cc +++ b/xtoskrnl/ke/amd64/krnlinit.cc @@ -86,6 +86,10 @@ KE::KernelInit::StartKernel(VOID) /* Save processor state */ Processor::SaveProcessorState(&Prcb->ProcessorState); + /* Initialize spin locks */ + SpinLock::InitializeAllLocks(); + SpinLock::InitializeLockQueues(); + /* Lower to APC runlevel */ RunLevel::LowerRunLevel(APC_LEVEL); diff --git a/xtoskrnl/ke/i686/krnlinit.cc b/xtoskrnl/ke/i686/krnlinit.cc index c2a418a..6142846 100644 --- a/xtoskrnl/ke/i686/krnlinit.cc +++ b/xtoskrnl/ke/i686/krnlinit.cc @@ -86,6 +86,10 @@ KE::KernelInit::StartKernel(VOID) /* Save processor state */ Processor::SaveProcessorState(&Prcb->ProcessorState); + /* Initialize spin locks */ + SpinLock::InitializeAllLocks(); + SpinLock::InitializeLockQueues(); + /* Lower to APC runlevel */ RunLevel::LowerRunLevel(APC_LEVEL);