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