summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/vm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/vm.c b/kernel/vm.c
index 284b72d..9f69783 100644
--- a/kernel/vm.c
+++ b/kernel/vm.c
@@ -61,7 +61,12 @@ kvminit(void)
void
kvminithart()
{
+ // wait for any previous writes to the page table memory to finish.
+ sfence_vma();
+
w_satp(MAKE_SATP(kernel_pagetable));
+
+ // flush stale entries from the TLB.
sfence_vma();
}