RISC-V (十二)系统调用
系统模式:用户态和内核态
当前的代码都是实现在machine模式下。
系统模式的切换
epc寄存器的值存放的是ecall指本身的地址 。
用ecall指令
系统调用的执行流程
mret这条指令会利用status的mpp值恢复到之前的特权级别。
蓝色的线表示涉及到权限切换。
系统调用的传参
当前的代码都是实现在machine模式下。
epc寄存器的值存放的是ecall指本身的地址 。
用ecall指令
mret这条指令会利用status的mpp值恢复到之前的特权级别。
蓝色的线表示涉及到权限切换。