当我们从syscall指令返回时(在x64中),返回堆栈缓冲区是否仍然有效?

时间:2017-05-13 14:55:45

标签: assembly linux-kernel cpu interrupt cpu-architecture

众所周知,当我们使用" call"指令,我们将在x86& x64中创建一个返回地址堆栈缓冲区(参见http://www.agner.org/optimize/microarchitecture.pdf p.36),以便将来预测函数返回地址。)

但是“系统调用”指令怎么样?它是否会在通过sysret返回时中断前一个返回堆栈缓冲区?我们可以像jmp指令一样查看它,只能从返回堆栈缓冲区的角度来看吗?

感谢您的帮助!

哦,这完全不是关于调用约定而是(分支预测单元)实现"系统调用"和" sysret" x64 CPU中的指令。该问题与"系统调用"。

之前/之后的注册状态无关

0 个答案:

没有答案