具体CPU环中不能发出哪些指令
Which instructions can not be issued in specific CPU ring
根据this source(Level 3 - 5)具体CPU环不能做某些事情,比如环1、2、3代码不能设置GDT,as os 内核会崩溃。
虽然很明显Ring 0可以执行所有指令,我想知道哪些指令不能在Ring 1、2和3中发出?
我在 wikipedia 或 osdev 和类似资源中找不到任何内容说明哪些指令不能在特定环中发出。
Ring 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
根据this source(Level 3 - 5)具体CPU环不能做某些事情,比如环1、2、3代码不能设置GDT,as os 内核会崩溃。
虽然很明显Ring 0可以执行所有指令,我想知道哪些指令不能在Ring 1、2和3中发出?
我在 wikipedia 或 osdev 和类似资源中找不到任何内容说明哪些指令不能在特定环中发出。
Ring 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