diff options
author | Robert Morris <[email protected]> | 2022-08-24 13:42:59 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2022-08-24 13:42:59 -0400 |
commit | 581bc4cbd1f6f5c207e729b78fac4328aef01228 (patch) | |
tree | 781f84fe3eda0b53ac0329b5c45521b0d10d8c74 /kernel | |
parent | 29ce3161f8c3604541045fd6d6202b9fdfccc6c6 (diff) | |
download | xv6-labs-581bc4cbd1f6f5c207e729b78fac4328aef01228.tar.gz xv6-labs-581bc4cbd1f6f5c207e729b78fac4328aef01228.tar.bz2 xv6-labs-581bc4cbd1f6f5c207e729b78fac4328aef01228.zip |
sfence before enabling paging
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/vm.c | 5 |
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(); } |