疑问: 1. 进程切换时为什么rbp不像rsp那样存成Thread的成员而是通过压栈处理? 2. 进程切换完成后next进程的rip指向了`"popq %rbp"`, 它是如何接着上次的中断位置继续执行的? 3. 无法理解启动第一个进程的这句`"pushq %1\n\t"`, 因为此时rbp的值应是my_start_kernel的rbp, 这句又没给rbp赋新值, 有何意义?
疑问:
"popq %rbp", 它是如何接着上次的中断位置继续执行的?"pushq %1\n\t", 因为此时rbp的值应是my_start_kernel的rbp, 这句又没给rbp赋新值, 有何意义?