mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-05 18:02:54 +00:00
Kernel: Use NonnullRefPtr<PhysicalPage> in PageDirectory::m_page_tables
We don't care to store null page pointers in the page table map.
This commit is contained in:
parent
ff0f67b3f0
commit
a154faebb7
Notes:
sideshowbarker
2024-07-18 05:39:16 +09:00
Author: https://github.com/awesomekling
Commit: a154faebb7
2 changed files with 2 additions and 2 deletions
|
@ -556,7 +556,7 @@ PageTableEntry* MemoryManager::ensure_pte(PageDirectory& page_directory, Virtual
|
||||||
pde.set_global(&page_directory == m_kernel_page_directory.ptr());
|
pde.set_global(&page_directory == m_kernel_page_directory.ptr());
|
||||||
// Use page_directory_table_index and page_directory_index as key
|
// Use page_directory_table_index and page_directory_index as key
|
||||||
// This allows us to release the page table entry when no longer needed
|
// This allows us to release the page table entry when no longer needed
|
||||||
auto result = page_directory.m_page_tables.set(vaddr.get() & ~(FlatPtr)0x1fffff, move(page_table));
|
auto result = page_directory.m_page_tables.set(vaddr.get() & ~(FlatPtr)0x1fffff, page_table.release_nonnull());
|
||||||
// If you're hitting this VERIFY on x86_64 chances are a 64-bit pointer was truncated somewhere
|
// If you're hitting this VERIFY on x86_64 chances are a 64-bit pointer was truncated somewhere
|
||||||
VERIFY(result == AK::HashSetResult::InsertedNewEntry);
|
VERIFY(result == AK::HashSetResult::InsertedNewEntry);
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ private:
|
||||||
#else
|
#else
|
||||||
RefPtr<PhysicalPage> m_directory_pages[4];
|
RefPtr<PhysicalPage> m_directory_pages[4];
|
||||||
#endif
|
#endif
|
||||||
HashMap<FlatPtr, RefPtr<PhysicalPage>> m_page_tables;
|
HashMap<FlatPtr, NonnullRefPtr<PhysicalPage>> m_page_tables;
|
||||||
RecursiveSpinLock m_lock;
|
RecursiveSpinLock m_lock;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue