diff options
| -rw-r--r-- | .gdbinit.tmpl-riscv | 2 | ||||
| -rw-r--r-- | kernel/trampoline.S | 8 | 
2 files changed, 5 insertions, 5 deletions
| diff --git a/.gdbinit.tmpl-riscv b/.gdbinit.tmpl-riscv index 452f04e..6a38a95 100644 --- a/.gdbinit.tmpl-riscv +++ b/.gdbinit.tmpl-riscv @@ -1,5 +1,5 @@  set confirm off -set architecture riscv +set architecture riscv:rv64  target remote 127.0.0.1:1234  symbol-file kernel/kernel  set disassemble-next-line auto diff --git a/kernel/trampoline.S b/kernel/trampoline.S index f47c3ff..b113bf6 100644 --- a/kernel/trampoline.S +++ b/kernel/trampoline.S @@ -70,7 +70,7 @@ uservec:          # make tp hold the current hartid, from p->tf->kernel_hartid          ld tp, 32(a0) -        # remember the address of usertrap(), p->tf->kernel_trap +        # load the address of usertrap(), p->tf->kernel_trap          ld t0, 16(a0)          # restore kernel page table from p->tf->kernel_satp @@ -79,7 +79,7 @@ uservec:          sfence.vma zero, zero          # a0 is no longer valid, since the kernel page -        # table does not specially map p->td. +        # table does not specially map p->tf.          # jump to usertrap(), which does not return          jr t0 @@ -89,8 +89,8 @@ userret:          # userret(TRAPFRAME, pagetable)          # switch from kernel to user.          # usertrapret() calls here. -        # a0: TRAPFRAME, in user page table -        # a1: user page table, for satp +        # a0: TRAPFRAME, in user page table. +        # a1: user page table, for satp.          # switch to the user page table.          csrw satp, a1 | 
