From 9981bb227093373649acd019d378dfccb54189c8 Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Wed, 10 Jul 2019 08:57:51 -0400 Subject: tweak some comments. --- kernel/trampoline.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kernel/trampoline.S') diff --git a/kernel/trampoline.S b/kernel/trampoline.S index dd4eb02..b992ea6 100644 --- a/kernel/trampoline.S +++ b/kernel/trampoline.S @@ -120,7 +120,7 @@ trampin: # restore kernel stack pointer from p->tf->kernel_sp ld sp, 8(a0) - # make tp hold the current hartid, from p->tf->hartid + # make tp hold the current hartid, from p->tf->kernel_hartid ld tp, 32(a0) # remember the address of usertrap(), p->tf->kernel_trap -- cgit v1.2.3 From ebc39372096280a4a5957d3e3836c859e5d78a79 Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Tue, 16 Jul 2019 17:02:21 -0400 Subject: conservatively call sfence.vma before every satp load. --- kernel/trampoline.S | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kernel/trampoline.S') diff --git a/kernel/trampoline.S b/kernel/trampoline.S index b992ea6..471a29c 100644 --- a/kernel/trampoline.S +++ b/kernel/trampoline.S @@ -17,7 +17,8 @@ trampout: # a0: p->tf in user page table # a1: new value for satp, for user page table - # switch to user page table + # switch to user page table. + sfence.vma zero, zero csrw satp, a1 # put the saved user a0 in sscratch, so we @@ -128,6 +129,7 @@ trampin: # restore kernel page table from p->tf->kernel_satp ld t1, 0(a0) + sfence.vma zero, zero csrw satp, t1 # a0 is no longer valid, since the kernel page -- cgit v1.2.3