ARM IHI0069F GIC architecture specification (4)

news2024/11/20 8:48:58

1.3 支持的配置和兼容性

在 Armv8-A 中,EL2 和 EL3 是可选的,PE 可以支持一个、两个或都不支持这些异常级别。
然而:
• PE 要求EL3 支持安全和非安全状态。
• PE 需要EL2 来支持虚拟化。
• 如果未实施EL3,则只有一个安全状态。 此安全状态是安全状态或非安全状态。
GICv3 支持所有这些配置的中断处理,并根据 Arm® 架构参考手册 Armv8(针对 Armv8-A 架构配置文件)中描述的交互处理规则,在 AArch32 状态和 AArch64 状态下执行。

1.3.1 亲和路由配置

GICv3架构支持亲和性路由。 它为以下方面提供可选支持:
• 非对称配置,其中在非安全状态下启用关联路由,在安全状态下禁用关联路由。 这为安全的遗留环境提供了支持。
• 仅传统环境,其中安全状态和非安全状态都禁用关联路由。

1.3.2 系统寄存器配置

当启用关联路由以在两种安全状态下执行时,必须将 GIC 配置为使用系统寄存器访问来处理物理中断。 该体系结构不支持为安全状态启用关联路由,并且不支持为该安全状态配置系统寄存器访问。 以这种方式配置 GIC 会导致不可预测的行为。 当启用关联路由以在非安全状态下执行时,GIC 架构可选择支持虚拟中断的传统操作,即在 EL2 上执行的虚拟机管理程序的控制下,在非安全 EL1 上进行传统中断处理。

1.3.3 GIC控制与配置

许多 GIC 寄存器都有不同的形式,以允许有效的中断处理:
• 对于两种安全状态。
• 对于不同的中断组。
• 使用GICv3 的系统寄存器访问或传统操作的内存映射访问。
当启用系统寄存器访问时,GIC 架构的控制和配置由架构系统寄存器和定义 GIC 程序员模型的相关访问来处理。 更多信息请参见第 11 章程序员模型。
一些寄存器始终是内存映射的,而其他寄存器则使用 GICv3 中的系统寄存器访问,以及用于传统操作的内存映射访问。

表 1-1 显示了始终进行内存映射的寄存器。
短寄存器名称的前缀         寄存器
GICD                                 Distributor registers
GICR                                 Redistributor registers(a)
GITS                                 ITS registers(b)
a. 每个 PE 的每个再分发器寄存器都有一份副本。
b. 一个实施中可以有多个 ITS。 每个 ITS 都有自己的 GITS 寄存器副本。

表 1-2 显示了针对传统操作进行内存映射的寄存器,但在启用系统寄存器访问时,这些寄存器被 GICv3 中的系统寄存器访问所取代。
短寄存器名称的前缀         寄存器
GICC                                Physical CPU interface registers
GICV                                 Virtual CPU interface registers
GICH                                 Virtual interface control registers
笔记
• 在非安全EL1 上执行的操作系统使用GICC_* 或GICV_* 寄存器来控制中断,并且不知道其中的差异。
• GICv3 中引入了GICR_* 和GITS_* 寄存器。

表 1-3 显示了启用系统寄存器访问时 GICv3 支持的寄存器。
短寄存器名称的前缀               访问的系统寄存器
ICC                                         Physical CPU interface registers
ICV                                         Virtual CPU interface registers
ICH                                         Virtual interface control registers

Armv8 对虚拟化的支持以及 PE 运行时的异常级别决定了是否访问物理 CPU 接口寄存器或虚拟 CPU 接口寄存器。
有关寄存器名称以及影响使用哪个寄存器的因素的更多信息,请参阅第 11-197 页的 GIC 系统寄存器访问。

1.3.4 Armv8架构状态的引用

表 1-4 显示了与 GIC 一起使用或影响 GIC 操作的 Armv8 架构状态。

更多信息请参考Architecture Reference Manual, Armv8, for Armv8-A architecture profile.

1.3.5 没有传统操作的 GICv3

在不支持传统操作的实现中,关联路由和系统寄存器访问被永久启用。 这意味着相关的控制位是 RAO/WI。 表 1-5 显示了受此影响的寄存器字段。

如果支持安全虚拟化,这是唯一允许的配置。

1.3.6 具有传统操作的 GICv3

传统操作是与 GICv2 的有限向后兼容性的一种形式,允许使用 GICv3 的系统运行使用 GICv2 的代码,前提是该代码满足本节中描述的限制。 在 GICv3 中,传统操作是可选的。 请参阅第 13-814 页的中断和非对称配置的传统支持。
在支持传统操作的 GICv3 实现中,最多 8 个 PE(其对内存映射寄存器接口的单独支持是实现定义的)可用作给定 VM 内的物理或虚拟中断目标。 它是由实现定义的:
• 传统操作是适用于两种安全状态下的执行,还是仅适用于安全状态下的执行。
• 在非安全EL1 中执行时,传统操作是否仅在虚拟CPU 接口中可用。
在 GICv3 中,以下限制适用于传统操作:
• GICv2 功能GICC_CTLR.AckCtl 在GICv2 中已弃用,并且在GICv3 中不受支持。 相应地,即使在传统模式下,行为也如同 GICv2 中描述的 GICC_CTLR.AckCtl 位是 RAZ/WI。
笔记
在支持传统操作的 GICv3 实现中,当 GICV_CTLR.AckCtl 设置为 1 时,允许 VM 控制非安全中断。但是,Arm 不建议使用 GICV_CTLR.AckCtl。
• 不支持GICv2 配置锁定功能和关联的CFGSDISABLE 输入信号。
• 在EL2 上执行的管理程序只能控制正在执行EL2 软件的PE 的虚拟中断,而不能控制其他PE 上的虚拟中断。
对于传统操作,支持非对称配置,其中:
• 关联路由和系统寄存器访问在非安全状态和EL3 下启用。
• 关联路由和系统寄存器访问在Secure EL1 处被禁用。
这允许在安全 EL1 上运行的安全操作系统使用遗留功能,前提是它不配置非安全中断。
在安全状态下执行的 GICv2 软件可以使用 GICC_AIAR、GICC_AEOIR、GICC_AHPPIR 和 GICC_ABPR 来控制非安全状态下的中断。 非对称配置中没有等效的功能。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信号处理--基于DEAP数据集的情绪分类的典型深度学习模型构建

关于 本实验采用DEAP情绪数据集进行数据分类任务。使用了三种典型的深度学习网络:2D 卷积神经网络;1D卷积神经网络GRU; LSTM网络。 工具 数据集 DEAP数据 图片来源: DEAP: A Dataset for Emotion Analysis using Physiological…

【二】TensorFlow神经网络模型构建之卷积函数

卷积函数是构建神经网络的重要支架,是在一批图像上扫描的二维过滤器。 tf.nn.convolution(input,filter,padding,stridesNone,dilation_rateNone,nameNone,data_formatNone)该函数计算N维卷积的和。tf.nn.conv2d(input,filter,padding,strides,use_cudnn_on_gpuNon…

【卫星影像三维重建】有理函数模型库-rpcm

卫星成像模型rpcm库使用 1.介绍1.1 卫星成像模型1.2 rpcm库 2.安装2.1 依赖库2.2 安装 3.用法3.1 投影3.2 定位3.3 影像裁剪crop3.3.1 使用说明3.3.2 具体使用 3.4 footprint3.5 angle影像的成像夹角 4.参考 1.介绍 1.1 卫星成像模型 卫星遥感影像的成像模型是描述影像与地面…

从零开始搭建游戏服务器 第七节 创建GameServer

目录 前言正文创建GameServer模块修改配置创建NettyClient连接到登录服登录服修改创建协议游戏服注册到登录服 总结 前言 上一节我们使用自定义注解反射简化了协议解包和逻辑处理分发流程。 那么到了这里登录服登录服的架构已经搭建的差不多了,一些比较简单的、并发…

pyhive入门介绍和实例分析(探索票价与景点评分之间是否存在相关性)

介绍 PyHive 是一组 Python DB-API 和 SQLAlchemy 接口,可用于 Presto 和 Hive。它为 Python 提供了一个与 Presto 和 Hive 进行交互的平台,使得数据分析师和工程师可以更方便地进行数据处理和分析。 以下是使用 PyHive 进行数据分析时需要注意的几点&…

HWOD:名字的漂亮度

一、题目 描述 给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的漂亮度是其所有字母漂亮度的总和 每个字母都有一个漂亮度,范围在1到26之间。没有任何两个不同字母拥有相同的漂亮度。字母忽略大小写。 给出多个字符串&#xff…

面试篇:HashMap

1.问:了解过红黑树吗?它有什么性质? 答:红黑树是一种自平衡的二叉搜索树,他的查找,添加和删除的时间复杂度都为O(logN)。 他有以下五种性质: 1.红黑树的节点只有红色或者黑色两种颜色 2.红黑树的…

java Web线上网游商品交易平台用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 jsp线上网游商品交易平台是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0…

Charles for Mac 强大的网络调试工具

Charles for Mac是一款功能强大的网络调试工具,可以帮助开发人员和测试人员更轻松地进行网络通信测试和调试。以下是一些Charles for Mac的主要特点: 软件下载:Charles for Mac 4.6.6注册激活版 流量截获:Charles可以截获和分析通…

QT+Opencv+yolov5实现监测

功能说明:使用QTOpencvyolov5实现监测 仓库链接:https://gitee.com/wangyoujie11/qt_yolov5.git git本仓库到本地 一、环境配置 1.opencv配置 将OpenCV-MinGW-Build-OpenCV-4.5.2-x64文件夹放在自己的一个目录下,如我的路径: …

OriginBot智能机器人开源套件

详情可参见:OriginBot智能机器人开源套件——支持ROS2/TogetherROS,算力强劲,配套古月居定制课程 (guyuehome.com) OriginBot智能机器人开源套件 最新消息:OriginBot V2.1.0版本正式发布,新增车牌识别,点击…

Spring Cloud 八:微服务架构中的数据管理

Spring Cloud 一:Spring Cloud 简介 Spring Cloud 二:核心组件解析 Spring Cloud 三:API网关深入探索与实战应用 Spring Cloud 四:微服务治理与安全 Spring Cloud 五:Spring Cloud与持续集成/持续部署(CI/C…

政安晨:【Keras机器学习实践要点】(五)—— 通过子类化创建新层和模型

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 介绍 本文将涵盖构建自己的子类化层和模型所…

使用Spark单机版环境

在Spark单机版环境中,可通过多种方式进行实战操作。首先,可使用特定算法或数学软件计算圆周率π,并通过SparkPi工具验证结果。其次,在交互式Scala版或Python版Spark Shell中,可以进行简单的计算、打印九九表等操作&…

ABAP - 上传文件模板到SMW0,并从SMW0上下载模板

upload file template to SMW0 and download the template from it 首先上传文件到tcode SMW0 选择新建后,输入文件名和描述,再选择想要上传的文件 上传完成后: 在表WWWPARAMS, WWWDATA里就会有信息存进去 然后就可以程序里写代码了: 屏幕上的效果:

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时,因为报错信息,需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…

【数据分享】1929-2023年全球站点的逐年平均露点(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全球气象站…

界面控件DevExpress WinForms/WPF v23.2 - 电子表格支持表单控件

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

IDEA编辑国际化.properties文件没有Resource Bundle怎么办?

问题描述 最近在做SpringBoot国际化,IDEA添加了messages.properties、messages_en_US.properties、messages_zh_CN.properties国际化文件后,在编辑页面底部没有Resource Bundle,这使得我在写keyvalue的时候在每个properties文件都要拷贝一次…

【Spring源码】Bean采用什么数据结构进行存储

一、前瞻 经过上篇源码阅读博客的实践,发现按模块阅读也能获得不少收获,而且能更加系统地阅读源码。 今天的阅读方式还是按模块阅读的方式,以下是Spring各个模块的组成。 那今天就挑Beans这个模块来阅读,先思考下本次阅读的阅读…