Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/exception.S
Show First 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | ENTRY(cpu_exception_handler_supervisor) | ||||
mv a0, sp | mv a0, sp | ||||
call _C_LABEL(do_trap_supervisor) | call _C_LABEL(do_trap_supervisor) | ||||
load_registers 1 | load_registers 1 | ||||
sret | sret | ||||
END(cpu_exception_handler_supervisor) | END(cpu_exception_handler_supervisor) | ||||
ENTRY(cpu_exception_handler_user) | ENTRY(cpu_exception_handler_user) | ||||
save_registers 0 | save_registers 0 | ||||
mv a0, sp | |||||
call _C_LABEL(do_trap_user) | call _C_LABEL(do_trap_user) | ||||
do_ast | do_ast | ||||
load_registers 0 | load_registers 0 | ||||
csrrw sp, sscratch, sp | csrrw sp, sscratch, sp | ||||
sret | sret | ||||
END(cpu_exception_handler_user) | END(cpu_exception_handler_user) |