草庐IT

最新 x86_64 系统调用入口分析 (基于 5.7.0)

最新x86_64系统调用入口分析(基于5.7.0)整体概览最近的工作涉及系统调用入口,但网上的一些分析都比较老了,这里把自己的分析过程记录一下,仅供参考。x86_64位系统调用使用SYSCALL指令进入内核空间,使CPU切换到ring0。SYSCALL指令主要工作为从MSR寄存器加载CS/SS,以及系统调用入口(entry_SYSCALL_64),从而进入系统调用处理流程。MSR寄存器相关这里不再介绍,需要相关知识的指路寄存器总结以及Model-specificregister。SYSCALL指令IF(CS.L≠1)or(IA32_EFER.LMA≠1)or(IA32_EFER.SCE≠