From 248a985bab0d3e791e1689de271a8a430fd0c3b1 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Tue, 7 May 2024 20:39:32 +0800 Subject: [PATCH] fix: use sscratch to judge trap source --- kernel/src/arch/riscv/asm/trap_common.S | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel/src/arch/riscv/asm/trap_common.S b/kernel/src/arch/riscv/asm/trap_common.S index 8473def..7ca64f1 100644 --- a/kernel/src/arch/riscv/asm/trap_common.S +++ b/kernel/src/arch/riscv/asm/trap_common.S @@ -59,9 +59,8 @@ __trap_from_user: SD_SP t1, 31 SD_SP t2, 32 - # find out whether we are from kernel (sstatus.SPP) - andi t2, t2, 1 << 8 - beqz t2, __trap_from_user_next + # find out whether we are from kernel (SSCRATCH) + beqz t0, __trap_from_user_next __trap_from_kernel_next: # goto kernel_trap_handler