请阅读【ARMv8/v9 ARM64 System Exception】
上篇文章:ARMv8/v9 异常模型入门及渐进 12 – ARM Linux 用户栈和系统栈及 CURRENT宏 介绍
1.1 SYSCALL 过程调用规范
当进程因为中断或者系统调用陷入到内核态时,进程所使用的堆栈也要从用户栈转到内核栈。进程陷入到内核态后:
- 先把用户态堆栈的地址保存在内核栈之中;
- 然后设置堆栈指针寄存器的内容为内核栈的地址。
这样就完成了 用户栈 向 内核栈 的转换;当进程从内核态恢复到用户态之后时,在内核态之后的最后将保存在内核栈里面的用户栈的地址恢复到堆栈指针寄存器即可。这样就实现了用户栈和内