2018-03-26

AMD手册:24593 3.28 March 2017

嵌套返回到64位模式过程。在长模式下,改变特权级别的远程调用会导致SS寄存器加载一个空选择符(这与长模式中的中断所采取的操作相同)。如果被调用的过程执行另一个远程调用到更高特权的过程或被中断,则将空SS选择器压入堆栈帧,并将另一个空选择器加载到SS寄存器中。以这种方式使用空选择器可以使处理器正确处理嵌套在64位模式过程和中断处理程序中的返回。

通常情况下,将空选择器弹出到SS寄存器的RET会导致发生通用保护异常(#GP)。但是,在长模式下,空选择器用作表示嵌套中断处理程序或其他特权软件在64位模式下存在的标志。长模式允许RET在以下条件下从堆栈中将空选择器弹出到SS中:

•目标模式是64位模式。

•目标CPL小于3。

在这种情况下,处理器不加载SS描述符,并且空选择器被加载到SS中而不引起#GP异常。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容