diff options
author | Robert Morris <[email protected]> | 2022-08-24 13:47:47 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2022-08-24 13:47:47 -0400 |
commit | ed101befeefe470e49bec32b9f4efd600bdbda46 (patch) | |
tree | 9ac32933fd3f548a03feb28dfbcc8ce4e52a85b9 | |
parent | 581bc4cbd1f6f5c207e729b78fac4328aef01228 (diff) | |
download | xv6-labs-ed101befeefe470e49bec32b9f4efd600bdbda46.tar.gz xv6-labs-ed101befeefe470e49bec32b9f4efd600bdbda46.tar.bz2 xv6-labs-ed101befeefe470e49bec32b9f4efd600bdbda46.zip |
comment the sfences
-rw-r--r-- | kernel/trampoline.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/trampoline.S b/kernel/trampoline.S index 7fb0b36..d7308cc 100644 --- a/kernel/trampoline.S +++ b/kernel/trampoline.S @@ -80,10 +80,18 @@ uservec: # load the address of usertrap(), from p->trapframe->kernel_trap ld t0, 16(a0) - # load the kernel page table, from p->trapframe->kernel_satp + + # fetch the kernel page table address, from p->trapframe->kernel_satp. ld t1, 0(a0) + + # wait for any previous memory operations to complete, so that + # they use the user page table. sfence.vma zero, zero + + # install the kernel page table. csrw satp, t1 + + # flush now-stale user entries from the TLB. sfence.vma zero, zero # jump to usertrap(), which does not return |