ARMv9新特性:虚拟内存系统架构 (VMSA) 的增强功能

快速链接:

  • 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈
权限索引

2022 ARM引入了一种新的控制内存权限方法。 不再是直接在转换表条目 (TTE) 中编码权限,而是使用 TTE 中的字段来索引寄存器中指定的权限数组。这种间接提供了更大的灵活性、编码密度并支持更多新权限。

每个 TTE 可以选择两个值,一个base permission和一个overlay。base permission表示块或页面拥有的最大权限集。overlay用于权限的进一步限制。
如下图所示:
在这里插入图片描述

对于操作系统,该架构提供了单独的 EL1 和 EL0 overlay 寄存器。这可以允许操作系统为分配给应用程序的页面设置最大权限,然后允许应用程序在这些约束内进一步管理权限。例如,操作系统为 JIT 分配一个可写或可执行的页面。然后,JIT 可以使用 Overlays 控制页面当前是可写的还是可执行的。这样做的好处是减少了系统调用和 TLB 无效的次数。

权限索引在多个master共享相同的表时也有好处。例如,一组表可能同时被 Arm 处理器和 SMMU使用。我们想要应用于软件访问的权限可能与我们想要应用于 SMMU 的权限不同。通过权限索引,处理器和 SMMU 可以使用相同的表,但对权限的解释可以不同。

翻译强化

2022 扩展引入了一系列功能,通过减少可用的攻击面来强化 MMU 表遍历过程。这些功能包括:

  • A new stage 1 attribute – Protected.
  • A new stage 2 permission – Mostly read-only.
  • A new instruction, RCW (Read-Compare-Write), for updating translation table entries.

Protected 属性控制允许更改 TTE 中的哪些字段。当新指令用于修改 TTE 时,它将自动检查 Protected 属性,如果设置,则仅更新允许的字段。
在这里插入图片描述

new stage 2 “最多只读”(MRO) 权限使软件能够限制可以写入页面的内容。标记为 MRO 的页面允许访问标志、脏页的硬件更新、 RCW 指令的更新。其他形式的存储,例如 STR(存储)指令,将因权限错误而失败。

在这里插入图片描述

Stage 1 的受保护属性和Stage 2 的 MRO 权限一起提供了针对多种类型攻击的强大保护。MRO 属性防止存储,不允许来自非RCW 指令的存储更改映射。受保护的属性和 RCW 指令限制了 TTE 中可以更新的字段。

该功能还引入了stage 2属性 AssuredOnly,可用于确保只有受保护的表才能指向某个页面。这是为了帮助防止别名攻击。

128 位转换表

作为 2022 扩展的一部分,Arm 正在向 Armv9-A 添加新的转换表格式。翻译格式遵循与现有格式相同的原则,但将每个描述符的大小增加到 128 位。新格式支持更大的输出地址和新属性字段的范围。

总结

ARMv9最新的VMSA有哪些变化或增强?

  • 对于每一个page或block,使用新的权限控制方式。以往权限控制是直接编码在页表entry的属性位中的,现在变成索引指向权限控制寄存器的方式。
  • 页表的属性位的权限控制,并更改引入新的修改属性位的指令
  • 页表entry从原来的64位增值128位

添加vx : arm_2023,备注进ARM交流讨论区
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/498860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案

目录(结尾附加项目代码资源地址) 引言: 1. SAGA事务模式 2. 拆分为子事务 3. 失败回滚 4. 如何做补偿 4.1 失败的分支是否需要补偿 5. 异常 6. 异常与子事务屏障 6.1 NPC的挑战 6.2 现有方案的问题 6.3 子事务屏障 6.4 原理 7. 更多高级场景 7.1 部分…

蓝桥杯单片机---第十一届省赛题目解析

文章目录 比赛题目一、代码相关定义、声明1.头文件声明2.变量声明 二、主要函数1.main函数2.按键扫描3.数码管显示4.电压 & LED显示5.定时器中断6.消除85C显示 三、次要函数1.初始化函数Init2.按键函数Key3.LED函数Led4.数码管函数Seg5.iic函数中6.onewire函数中 总结 比赛…

【Redis】redis主从复制

概述 常见的Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份);而主从复制则侧重解决数据的多机热备。此外,主从复制…

鸿蒙TypeScript入门学习第4天:【TS变量声明】

1、TypeScript 变量声明 变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 TypeScript 变量的命名规则: 变量名称可以包含数字和字母。除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符&…

使用ai智能写作场景之gpt整理资料,如何ai智能写作整理资料

Ai智能写作助手:Ai智能整理资料小助手 Ai智能整理资料小助手可试用3天! 通俗的解释一下怎么用ChatGPT来进行资料整理: 搜寻并获取指定数量的特定领域文章: 想像你在和我说话一样,告诉我你想要多少篇关于某个话题的文…

高效实用的Java输出流:BufferWriter类详解

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,…

ardupilot开发 --- Remote ID 篇

朝花夕拾 什么是 Remote ID ?一些概念OpenDroneIDArduRemoteIDopendroneid-core-c 库 什么是 Remote ID ? https://drone-remote-id.com/ 一些概念 符合美国航空管理局FAA规定的一些 Remote ID 设备有哪些? https://uasdoc.faa.gov/listDoc…

【APP_TYC】数据采集案例天眼APP查_查壳脱壳反编译_③

是不是生活太艰难 还是活色生香 我们都遍体鳞伤 也慢慢坏了心肠 你得到你想要的吗 换来的是铁石心肠 可曾还有什么人 再让你幻想 🎵 朴树《清白之年》 查壳 工具介绍Frida-dexDump Frida-dexDump简介 Frida-dexDump是基于Frida的一个工具&…

Java中读取html文件转成String,展示在浏览器

这里写目录标题 第一章1.1&#xff09;pom中引入依赖和html文件示例1.2&#xff09;使用hutool工具包读取html文件转为string1.3&#xff09;页面显示 第一章 1.1&#xff09;pom中引入依赖和html文件示例 引入hutool工具包依赖 <dependency><groupId>cn.hutool&…

vue前端工程化

前言 本文介绍的是有关于vue方面的前端工程化实践&#xff0c;主要通过实践操作让开发人员更好的理解整个前端工程化的流程。 本文通过开发准备阶段、开发阶段和开发完成三个阶段开介绍vue前端工程化的整体过程。 准备阶段 准备阶段我将其分为&#xff1a;框架选择、规范制…

html安装及入门

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、简单介绍一下前端三大件开发工具 二、安装VSCode三、VSCode相关配置1.汉化2.live server3.使用前 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下…

治愈自己的短句,心灵鸡汤!

一、不是所有的是非都能理清&#xff0c;不是所有的付出都有收获。有些选择是无可奈何&#xff0c;有些失去是注定的。与其无法言说&#xff0c;不如一笑而过&#xff1b;与其无法释怀&#xff0c;不如安然自若。 二、没人会真正的感同身受到你的痛楚&#xff0c;也没人会真正…

如何通过使用yolov8实现火灾烟雾检测

在该项目中&#xff0c;对原始YOLO模型进行训练集数据收集、模型结构调整、超参数优化等步骤&#xff0c;使其能够准确高效地从视频或图像中识别出火源或其他火灾相关特征&#xff0c;以实现实时火警监测、预警等功能。 介绍 该代码库包含使用YOLOv8在实时视频中跟踪和检测火灾…

网络七层模型之表示层:理解网络通信的架构(六)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)

基于Hive的天气情况大数据分析系统&#xff08;通过hive进行大数据分析将分析的数据通过sqoop导入到mysql&#xff0c;通过Django基于mysql的数据做可视化&#xff09; Hive介绍&#xff1a; Hive是建立在Hadoop之上的数据仓库基础架构&#xff0c;它提供了类似于SQL的语言&…

春季热卖单品!空气净化器单周销售额近三十万!

季节轮换&#xff0c;你有没有感受到室内空气质量变差呢&#xff1f; 近日&#xff0c;一款空气净化器在美区TikTok小店上掀起了一股购买热潮&#xff0c;成为了当之无愧的爆款商品&#xff01; 它的单周销量竟然高达7.5k&#xff0c;销售额更是超过了惊人的30万&#xff01;…

Webpack常见插件和模式

目录 目录 目录认识 PluginCleanWebpackPluginHtmlWebpackPlugin自定义模版 DefinePlugin的介绍 ( 持续更新 )Mode 配置 认识 Plugin Loader是用于特定的模块类型进行转换&#xff1b; Plugin可以用于执行更加广泛的任务&#xff0c;比如打包优化、资源管理、环境变量注入等 …

2023年财报大揭秘:下一个倒闭的新势力呼之欲出

3月25日&#xff0c;零跑汽车公布了他们2023年的财报。财报数据显示&#xff0c;零跑亏损了42亿元。恰逢近段时间众多新势力车企皆公布了年报&#xff0c;而亏损也成了大家避不开的话题。那今天就让我们一起盘点一下各个车企的财报吧&#xff01; 2023年财报大揭秘&#xff1a;…

12.路由安装

路由安装 安装vscode https://code.visualstudio.com/ 使用vscode打开后台系统项目 在终端运行npm run dev即可运行项目 src/assets中存放静态资源 src/components中存放组件 app.vue是主界面&#xff08;入口页面&#xff09; 注释main.ts中的import ./style.css package.j…

以syslog形式推送告警信息到UMP平台--主要为接口思路

背景 客户需求&#xff0c;根据当前时间获取到的接口返回值中的关键字段的数值进行判断&#xff0c;当超过阈值时推送可恢复告警&#xff0c;推送一次即可&#xff0c;待数据正常时推送告警恢复&#xff0c;工作日8点到18点执行。【代码还在整理中】 问题分析 告警通知&…