diff options
| author | Robert Morris <rtm@csail.mit.edu> | 2019-07-24 10:39:05 -0400 | 
|---|---|---|
| committer | Robert Morris <rtm@csail.mit.edu> | 2019-07-24 10:39:05 -0400 | 
| commit | b4f89bb5290cff5926e5a735487b024f8314e028 (patch) | |
| tree | 5af3d92b47d18552a12343cf91fafacb48f43c01 | |
| parent | 8f6865d1f1b945aae1a7989798571de5382cf930 (diff) | |
| download | xv6-labs-b4f89bb5290cff5926e5a735487b024f8314e028.tar.gz xv6-labs-b4f89bb5290cff5926e5a735487b024f8314e028.tar.bz2 xv6-labs-b4f89bb5290cff5926e5a735487b024f8314e028.zip | |
ping-pong exercise
| -rw-r--r-- | kernel/trampoline.S | 10 | 
1 files 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 | 
