Linux系统调用寄存器保存

时间:2014-03-19 18:00:54

标签: linux x86 system-calls sysenter

我有两个关于32位Linux系统调用的简单问题。

在x86 Linux中,有两种方法可以调用系统调用。

第一个是使用int 0x80,另一个是sysenter。

我知道这两者之间的基本概念差异(sysenter使用SYSENTER_MSR_EIP,SYSENTER_MSR_ESP寄存器,int 0x80使用中断表,sysenter提供更好的性能等等)。

我的问题是......

  1. 程序员视图中的int 0x80和sysenter之间是否有任何功能差异? (即调用约定,对内存布局的副作用,或其他......)

  2. 从系统调用返回后是否有任何系统调用在EAX寄存器之外发生了变化?

  3. 提前谢谢。

0 个答案:

没有答案