From 581bc4cbd1f6f5c207e729b78fac4328aef01228 Mon Sep 17 00:00:00 2001
From: Robert Morris <rtm@csail.mit.edu>
Date: Wed, 24 Aug 2022 13:42:59 -0400
Subject: [PATCH] sfence before enabling paging

---
 kernel/vm.c | 5 +++++
 1 file changed, 5 insertions(+)

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();
 }