在用户区的x86-64 Linux上CS和SS寄存器的含义是什么?

And*_*zos 3 linux x86 assembly x86-64 linux-kernel

内核在第一次进入时加载本机用户区Linux应用程序后,x86-64 CPU寄存器大多为零,除了具有通常含义的RSP和RIP之外,寄存器CS SS和R11都不为零:

cs             0x33 51
ss             0x2b 43
r11            0x200    512
Run Code Online (Sandbox Code Playgroud)

据我所知,CS和SS寄存器在x86-64上未使用,因为在长模式下我们有一个扁平的64位地址模型.

CS和SS寄存器是否意味着内核的任何内容?用户地区是否只是让他们一个人呆着?

R11中的初始512值是什么意思?

Mar*_*nau 5

在64位模式下,段寄存器仍然指向IDT或GDT条目.但是,IDT/GDT条目仅包含有限的信息:

数据段选择器(对DS,ES,SS,FS和GS有效)仅包含一个位:"P"位表示该段存在.这仅适用于加载到FS和GS寄存器的段.

代码段选择器(对CS有效)包含访问权限信息和长模式位,表示当CS指向这样的段时64位模式有效.

段基数和段长度不存在.