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);