1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 12:37:45 +00:00

Kernel/aarch64: Implement tlb flushing

This initial implementation flushes the complete tlb cache. A FIXME is
added to implement the partial tlb flushing.
This commit is contained in:
Timon Kruiper 2022-09-21 09:24:56 +02:00 committed by Andreas Kling
parent 424a974e01
commit 57901a6f62
2 changed files with 11 additions and 5 deletions

View file

@ -41,7 +41,16 @@ void Processor::initialize(u32 cpu)
void Processor::flush_tlb_local(VirtualAddress, size_t)
{
// FIXME: Implement this
// FIXME: Figure out how to flush a single page
asm volatile("dsb ishst");
asm volatile("tlbi vmalle1is");
asm volatile("dsb ish");
asm volatile("isb");
}
void Processor::flush_tlb(Memory::PageDirectory const*, VirtualAddress vaddr, size_t page_count)
{
flush_tlb_local(vaddr, page_count);
}
}