mit 6.1810--2.system calls
mit 6.1810--2.system calls
Mikasasystem calls
gdb
1 | > b syscall |
发现是 usertrap() 调用了 syscall()
翻阅 user/initcode.S 后发现 p->trapframe->a7 是用来存放系统调用号,此时这个值为 0x7,也就是 SYS_exec
打印特权寄存器 $sstatus=0x200000022,说明之前处于用户态
System call tracing
要求你在内核态实现 trace 命令,格式:
1 | trace [argument] [command] |
输出 [command] 从开始到执行结束过程中的 syscall
