1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 02:58:12 +00:00

Add missing TLB flushes.

This commit is contained in:
Andreas Kling 2018-10-23 13:03:11 +02:00
parent 77821da42f
commit d133a2845f

View file

@ -93,6 +93,7 @@ void MemoryManager::protectMap(LinearAddress linearAddress, size_t length)
pte.setPresent(false); pte.setPresent(false);
pte.setWritable(false); pte.setWritable(false);
} }
flushTLB();
} }
void MemoryManager::identityMap(LinearAddress linearAddress, size_t length) void MemoryManager::identityMap(LinearAddress linearAddress, size_t length)
@ -106,6 +107,7 @@ void MemoryManager::identityMap(LinearAddress linearAddress, size_t length)
pte.setPresent(true); pte.setPresent(true);
pte.setWritable(true); pte.setWritable(true);
} }
flushTLB();
} }
void MemoryManager::initialize() void MemoryManager::initialize()
@ -153,6 +155,7 @@ byte* MemoryManager::quickMapOnePage(PhysicalAddress physicalAddress)
pte.setPhysicalPageBase(physicalAddress.pageBase()); pte.setPhysicalPageBase(physicalAddress.pageBase());
pte.setPresent(true); pte.setPresent(true);
pte.setWritable(true); pte.setWritable(true);
flushTLB();
return (byte*)(4 * MB); return (byte*)(4 * MB);
} }