From a40afc45626387b60f7947588b4f7260e65e75c0 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 15 Sep 2019 20:34:03 +0200 Subject: [PATCH] Kernel: Get rid of MemoryManager::allocate_page_table() We can just use the physical page allocator directly, there's no need for a dedicated function for page tables. --- Kernel/VM/MemoryManager.cpp | 12 +----------- Kernel/VM/MemoryManager.h | 2 -- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index 5e8292e006..138700bbda 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -151,16 +151,6 @@ void MemoryManager::initialize_paging() #endif } -RefPtr MemoryManager::allocate_page_table(PageDirectory& page_directory, unsigned index) -{ - ASSERT(!page_directory.m_physical_pages.contains(index)); - auto physical_page = allocate_supervisor_physical_page(); - if (!physical_page) - return nullptr; - page_directory.m_physical_pages.set(index, physical_page); - return physical_page; -} - PageTableEntry& MemoryManager::ensure_pte(PageDirectory& page_directory, VirtualAddress vaddr) { ASSERT_INTERRUPTS_DISABLED(); @@ -186,7 +176,7 @@ PageTableEntry& MemoryManager::ensure_pte(PageDirectory& page_directory, Virtual pde.set_writable(true); } else { //ASSERT(&page_directory != m_kernel_page_directory.ptr()); - auto page_table = allocate_page_table(page_directory, page_directory_index); + auto page_table = allocate_supervisor_physical_page(); #ifdef MM_DEBUG dbgprintf("MM: PD K%x (%s) at P%x allocated page table #%u (for V%p) at P%x\n", &page_directory, diff --git a/Kernel/VM/MemoryManager.h b/Kernel/VM/MemoryManager.h index 04d80c0bbd..e9c314d674 100644 --- a/Kernel/VM/MemoryManager.h +++ b/Kernel/VM/MemoryManager.h @@ -104,8 +104,6 @@ private: void flush_entire_tlb(); void flush_tlb(VirtualAddress); - RefPtr allocate_page_table(PageDirectory&, unsigned index); - void map_protected(VirtualAddress, size_t length); void create_identity_mapping(PageDirectory&, VirtualAddress, size_t length);