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

2023-12-11

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

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

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


以下指令不能在环 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哪些指令不能在特定的CPU环中发出 的相关文章

随机推荐

  • JQuery 或 vanilla Javascript 中的 DOM Mutation 事件

    JQuery 或普通 Javascript 中是否存在触发跨浏览器的 DOM 突变事件 为了澄清这一点 假设我的页面上有一个脚本 它将一个 div 插入到正文中 我无权访问该脚本 也不知道 div 何时被插入 我想知道是否有一个 DOM 突
  • Visual Studio Code 不运行 Python

    我在 Windows 10 上使用最新版本的 Visual Studio Code 和 Python 3 6 64 位 我安装了 Python 扩展 微软制作的扩展 每次我尝试运行一个简单的程序 例如 print Hello World 时
  • jquery .load() 函数在phonegap下不起作用

    jquery load 函数在 iPad 上的 PhoneGap 下不起作用 它在移动 Safari 中工作得很好 但它在 Phonegap 应用程序中不起作用 任何帮助 将不胜感激 更新 代码如下 this image container
  • 理解 C 命名空间

    引用自here 在 C 中 有两种不同的类型命名空间 struct union enum 标记名称的命名空间和 typedef 名称的命名空间 name c cat name c include
  • 如何在 Javascript 中获取 X509Certificate 指纹?

    我需要用 javascript 编写一个函数 forge 获取 pfx 证书的缩略图 我创建了一个测试证书 mypfx pfx 通过使用 C X509Certificate2 库 我可以通过传递文件字节数组和密码来查看 X509Certif
  • 如何在 MySQL 查询中使用 BETWEEN 的反义词? [复制]

    这个问题在这里已经有答案了 我有一个工作查询 它 使用 BETWEEN 来查找日期范围内的结果 我需要的是相反的结果或不是给定日期范围之间的结果 这是下面的查询 SELECT loanac id loanac name loanac lac
  • 摆动计时器 - 时间波动

    我在游戏中使用了 Swing Timer 但是当游戏运行时 它似乎有时运行平稳 有时又变慢 为什么时间会波动 我该如何解决它 import java awt Color import java awt Graphics import jav
  • Python mySQL 更新,工作但不更新表

    我有一个 python 脚本需要更新 mysql 数据库 到目前为止我有 dbb MySQLdb connect host localhost user user passwd pass db database try curb dbb c
  • 使用 tableGrob 在表中添加上标

    如何在表格中添加上标 例如 列b of df会将重复索引指示为上标 我可以考虑引入列的值b作为表达 但可能有更好的方法 Data df lt data frame a 1 6 b rep letters 1 3 each 2 Code li
  • git 正在尝试上传已手动删除的文件

    我在旧的提交中添加了一个文件 并且没有推送该提交 然后我从目录中删除了该文件 之后 我做了更多更改并添加了更多提交 现在每次我尝试推送代码时都会遇到此错误git push u origin master Counting objects 5
  • 两个ModalViewController

    我有一个 navigationController 从中启动 ModalViewController 在此 ModalViewController 中 我将显示 MailComposer 它本身是另一个 ModalViewControlle
  • 我已完成的作业的 AWS EMR 减速器输出在哪里(应该在 S3 上,但那里什么也没有)?

    我遇到一个问题 即我在 AWS EMR 上的 Hadoop 作业未保存到 S3 当我在较小的样本上运行作业时 作业可以很好地存储输出 当我在完整数据集上运行相同的命令时 作业再次完成 但 S3 上不存在任何我指定要输出的内容 显然有一个20
  • 根据前面的单词从段落中提取数值

    我正在处理列中的一些大文本字段 经过一些清理后 我得到如下所示的内容 truth val 5 xerb Scale 2 perb Scale 1 我想提取数字 2 我试图匹配字符串 xerb Scale 然后提取 2 我尝试捕获包含 2 的
  • Riverpod 监听在 statenotifier 更改后没有被调用

    我构建了一个应用程序 用户可以在其中选择他的位置 我们将显示附近的可用项目 class LocationState LatLng location LocationState this location LocationState copy
  • DLLNotFoundException - Unity3D 插件

    我在某些 Windows 机器上的独立构建中遇到 DLLNotFoundException 其他机器则运行良好 Dll 文件肯定在plugins 文件夹中 也将其复制到projectName Data 文件夹中 但没有区别 还尝试将 dll
  • Jersey 2.x 安全上下文不起作用?

    当我尝试创建 java jersey 应用程序时 身份验证角色对我不起作用 Java 代码 package org student resource import javax annotation security PermitAll im
  • 我们可以在运行时为 scala 类分配/更改特征吗?如何 - 有示例代码吗?喜欢策略模式(四帮设计模式)

    解释一下我的问题 类别 玩具 特质1 说话像男性 特质2 说话像女人 我可以在运行时更改玩具的行为 特征 以便有时同一个对象像男性一样说话 有时同一个对象像女性一样说话吗 我想改变运行时的说话行为 sealed trait Speaker
  • Visual Studio 2012 中自己的双选项卡模板

    因此 Visual Studio 中有一个技巧 当您键入 for 然后双击 Tab 键时 Visual Studio 将创建 for int i 0 i lt length i 有什么方法可以创建我自己的模板吗 因为我不使用 LINQ 所以
  • 使用Ajc编译器和Spring问题AspectJ

    当我尝试使用 ajc 编译器通过 spring 来执行spectj时 出现以下错误 当我删除aspectj时 代码工作正常 编译时编织是否有任何问题导致 caused by java lang ExceptionInInitializerE
  • 哪些指令不能在特定的CPU环中发出

    根据这个来源 级别3 5 特定CPU环不能做某些事情 例如环1 2 3代码不能设置GDT 因为操作系统内核会崩溃 虽然很明显Ring 0可以执行所有指令 我想知道哪些指令不能在环1 环2和环3中发出 我在维基百科或 osdev 以及类似的来