在特定的CPU环中不能发出哪些指令 [英] Which instructions can not be issued in specific CPU ring
本文介绍了在特定的CPU环中不能发出哪些指令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
根据此来源(3-5级),特定的CPU环无法执行某些事情(例如1、2、3环代码)无法设置GDT,因为os内核会崩溃。
According to this source (Level 3 - 5) specific CPU rings can not do certain things, such as ring 1, 2, 3 code can not set up GDT, as os kernel would crash.
很明显,环0可以执行所有指令,我想知道环1、2和3不能发出哪些指令?
While it is obvious that Ring 0 can execute all instructions, I am wondering which instructions can not be issued in rings 1, 2 and 3?
我在Wikipedia或osdev以及类似的资料来源上都找不到任何可以说明在特定环中不能发出什么指令的信息。
I could not find anything on either wikipedia or osdev and similar sources which would state what instructions can not be issued in specific ring.
推荐答案
在环3中无法执行以下指令:
The following instructions cannot be executed in 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
这篇关于在特定的CPU环中不能发出哪些指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文