#include "x86_64/memory/mmu.hpp" #include "kapi/memory.hpp" #include "x86_64/cpu/registers.hpp" namespace teachos::memory::x86_64 { namespace cpu = cpu::x86_64; auto tlb_flush(linear_address address) -> void { asm volatile("invlpg (%[input])" : /* no output from call */ : [input] "r"(address) : "memory"); } auto tlb_flush_all() -> void { auto paging_root = cpu::cr3::read(); cpu::cr3::write(paging_root); } } // namespace teachos::memory::x86_64