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

时间:2016-08-22 10:33:02

标签: x86 cpu

根据this source(3 - 5级)特定的CPU环不能做某些事情,如环1,2,3代码无法设置GDT,因为os内核会崩溃。

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

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

1 个答案:

答案 0 :(得分:2)

以下说明无法在第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