Module trap_handler

Module trap_handler 

Source
Expand description

RISC-V 架构的陷阱处理程序实现

64 位 RISC-V,usize = 8 字节

Functions§

check_device
TODO: 处理设备中断
check_timer
处理时钟中断
kernel_trap
处理来自内核态的陷阱(中断、异常)
trap_handler
陷阱处理程序 从中断处理入口跳转到这里时, 陷阱帧的地址(sp)被隐式地作为参数 a0 传递给了 trap_handler 函数。 在这里,trap_frame 指向了保存的 TrapFrame 结构体。 此外,在通过 stvec 跳转到中断处理入口时,SSIE 被自动清除, 因此在内核陷阱处理程序开始时,中断是被禁用的。 必须从这个函数正常返回后,通过 restore 中的 sret 指令才能正确恢复中断状态。
user_trap
处理来自用户态的陷阱(系统调用、中断、异常)