IA-32e模式

64位下的CS段描述符
在这里插入图片描述
L:如果是64位模式,该标志位1
64位下强制平坦模式(FS和GS除外),段描述符不再描述段的基址和LIMIT。
应用程序的CS=23 32位
CS=33 64位

WINDBG下使用dg+偏移来解析段描述符

在这里插入图片描述

TSS段描述符
TSS在64位下是128位的

在这里插入图片描述
TSS的基址是:0xfffff801`242b3000

TSS里面保存的是0环的栈指针 RSP0和IDT处理函数要使用的特殊的IST栈指针(需要IDT表中特殊指定)
在这里插入图片描述

IDT

在这里插入图片描述

IDT表也扩展为128位
WINDBG中查看IDT dq idtr ,表中的
1,3,4 代表的是中断处理程序的栈在TSS描述符IST对应的栈指针。
也就是1代表IST1对应的栈指针地址。如果是0的话,就是用默认的栈指针RSP0.
在这里插入图片描述

查看具体的中断号 !idt 0

FS GS

fs: 32位程序 指向TEB
GS: 64位指向3环的TEB
内核的KPCR 是gs:0

猜你喜欢

转载自blog.csdn.net/qq_41490873/article/details/108869007