diff --git a/kernel/arch/x86_64/PageTable.cpp b/kernel/arch/x86_64/PageTable.cpp index 80607f63..03d2c30a 100644 --- a/kernel/arch/x86_64/PageTable.cpp +++ b/kernel/arch/x86_64/PageTable.cpp @@ -17,7 +17,7 @@ extern uint8_t g_userspace_end[]; namespace Kernel { - RecursiveSpinLock PageTable::s_fast_page_lock; + SpinLock PageTable::s_fast_page_lock; static PageTable* s_kernel = nullptr; static bool s_has_nxe = false; @@ -214,7 +214,7 @@ namespace Kernel ASSERT(s_kernel); ASSERT(paddr); - SpinLockGuard _(s_fast_page_lock); + ASSERT(s_fast_page_lock.current_processor_has_lock()); constexpr vaddr_t uc_vaddr = uncanonicalize(fast_page()); constexpr uint64_t pml4e = (uc_vaddr >> 39) & 0x1FF; @@ -237,7 +237,7 @@ namespace Kernel { ASSERT(s_kernel); - SpinLockGuard _(s_fast_page_lock); + ASSERT(s_fast_page_lock.current_processor_has_lock()); constexpr vaddr_t uc_vaddr = uncanonicalize(fast_page()); constexpr uint64_t pml4e = (uc_vaddr >> 39) & 0x1FF; diff --git a/kernel/include/kernel/Memory/PageTable.h b/kernel/include/kernel/Memory/PageTable.h index a23f5f91..29a15d3c 100644 --- a/kernel/include/kernel/Memory/PageTable.h +++ b/kernel/include/kernel/Memory/PageTable.h @@ -130,7 +130,7 @@ namespace Kernel private: paddr_t m_highest_paging_struct { 0 }; mutable RecursiveSpinLock m_lock; - static RecursiveSpinLock s_fast_page_lock; + static SpinLock s_fast_page_lock; }; static constexpr size_t range_page_count(vaddr_t start, size_t bytes)