美文网首页
2018-03-26

2018-03-26

作者: lgj1107 | 来源:发表于2018-03-26 15:34 被阅读0次

    AMD手册:24593 3.28 March 2017

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

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

    •目标模式是64位模式。

    •目标CPL小于3。

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

    相关文章

      网友评论

          本文标题:2018-03-26

          本文链接:https://www.haomeiwen.com/subject/viercftx.html