哪些指令不能在特定CPU环下发出

vak*_*kus 5 cpu x86

根据这个来源(级别3 - 5),特定的CPU环不能做某些事情,例如环1、2、3代码不能设置GDT,因为操作系统内核会崩溃。

虽然很明显Ring 0可以执行所有指令,我想知道哪些指令不能在Ring 1、2和3中发出?

我在维基百科或 osdev 以及类似的来源上找不到任何内容来说明哪些指令不能在特定环中发出。

Ale*_*all 4

以下指令不能在环 3 中执行:

LGDT
LLDT
LTR
LIDT
MOV (to and from control registers only)
MOV (to and from debug registers only)
LMSW
CLTS
INVD
WBINVD
INVLPG
HLT
RDMSR
WRMSR
RDPMC
RDTSC
Run Code Online (Sandbox Code Playgroud)