From d133a2845fd7124420d293fc56a0abaa4ddf12ab Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 23 Oct 2018 13:03:11 +0200 Subject: [PATCH] Add missing TLB flushes. --- Kernel/MemoryManager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Kernel/MemoryManager.cpp b/Kernel/MemoryManager.cpp index 3aa26098db..0587e51d1c 100644 --- a/Kernel/MemoryManager.cpp +++ b/Kernel/MemoryManager.cpp @@ -93,6 +93,7 @@ void MemoryManager::protectMap(LinearAddress linearAddress, size_t length) pte.setPresent(false); pte.setWritable(false); } + flushTLB(); } void MemoryManager::identityMap(LinearAddress linearAddress, size_t length) @@ -106,6 +107,7 @@ void MemoryManager::identityMap(LinearAddress linearAddress, size_t length) pte.setPresent(true); pte.setWritable(true); } + flushTLB(); } void MemoryManager::initialize() @@ -153,6 +155,7 @@ byte* MemoryManager::quickMapOnePage(PhysicalAddress physicalAddress) pte.setPhysicalPageBase(physicalAddress.pageBase()); pte.setPresent(true); pte.setWritable(true); + flushTLB(); return (byte*)(4 * MB); }