From b4f89bb5290cff5926e5a735487b024f8314e028 Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Wed, 24 Jul 2019 10:39:05 -0400 Subject: [PATCH] ping-pong exercise --- kernel/trampoline.S | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/trampoline.S b/kernel/trampoline.S index f067627..d4066c9 100644 --- a/kernel/trampoline.S +++ b/kernel/trampoline.S @@ -2,8 +2,8 @@ # code to switch between user and kernel space. # # this code is mapped at the same virtual address - # in user and kernel space so that it can switch - # page tables. + # in user and kernel space so that it continues + # to work when it switches page tables. # # kernel.ld causes trampout to be aligned # to a page boundary. @@ -18,7 +18,7 @@ trampout: # a0: p->tf in user page table # a1: new value for satp, for user page table - # switch to user page table. + # switch to the user page table. sfence.vma zero, zero csrw satp, a1 @@ -59,11 +59,11 @@ trampout: ld t5, 272(a0) ld t6, 280(a0) - # restore user a0, and save p->tf + # restore user a0, and save p->tf in sscratch csrrw a0, sscratch, a0 # return to user mode and user pc. - # caller has set up sstatus and sepc. + # usertrapret() set up sstatus and sepc. sret .align 4