GICv3使用亲和路由来区分连接的PE,让中断路由到某个PE或某一组PE。PE的亲和性由4个8bit域表示。

<affinity level3>.<affinity level2>.<affinity level1>.<affinity level0>

在affinity level0处是Redistributor。每个Redistributor连接到一个CPU接口上。Redistributor控制SGI,PPI和LPI。

亲和性流程与ARMv8-A使用的流程匹配,通过MPIDR_EL1报告PE的亲和性。系统设计必须保证MPIDR_EL1表示的亲和性值与和PE连接的Redistributor 的GICR_TYPER是相同的。

不同级别的affinity由特定的处理器和SOC决定。下列为例子:

<group of groups>.<group of processor>.<processor>.<core>

<group of processors>.<processor>.<core>.<thread>

极大不可能所有的node都在一个实现里。比如,用于手机设备的SOC有类似的layout:

0.0.0.[0:3] core 0 to 3 of a Cortex-A53 processor

0.0.0.[0:1] core 0 to 1 of a Cortex-A57 processor

在ARMv8-A,AArch64状态支持四个级别的亲和性。AArch32和ARMv7只支持三个级别亲和性。这意味着使用AArch32的设计仅限于单个模亲和性级别3(0.x.y.z)。GICD_TYPER.A3V表明是否中断控制器支持多个级别3的结点。

NOTE: 虽然每个级别1结点最好多可以有256个级别0的Redistributor,特别它可能只有16个或更少。这是因为为SGI的目标PE的方式在章节7中。

GICv3软件overview手册之GICv3基本功能(3)相关推荐

  1. GICv3软件overview手册之GICv3基本功能(4)

    GICv3架构支持ARM trustZone技术.每个INTID都赋予给一个group和安全设置.GICv3支持三种合并,如表中所示: 中断类型 使用例子 Secure Group 0 EL3的中断( ...

  2. GICv3软件overview手册之GICv3基本功能(1)

    本章描述与GICV3架构兼容的中断控制的基本操作.它也会描述不同的编程接口. 1. 中断类型 GICV3定义了如下中断类型: (1)SPI共享外设中断 这是一种全局外设中断,可路由到某个PE,或一组P ...

  3. GICv3软件overview手册之GICv3基本功能(5)

    GICv3中断控制器的寄存器接口分为三组: (1)Distributor接口: (2)edistributor接口: (3)CPU接口: Distributor(GICD_*) Distributor ...

  4. GICv3软件overview手册之GICv3基本功能(2)

    中断控制器对每个SPI/PPI/SGI中断源维护了一个状态机.状态机包含以下四种状态: (1)Inactive:中断源当前没有触发: (2)Pending:中断源被触发,但还未被PE应答: (3)Ac ...

  5. GICv3软件overview手册之介绍

    本文档提供了GICv3特性的软件overview,并且描述GICV3中断控制器的操作.它也只是如何在裸机环境下配置GICV3中断控制器的简介. 本文档是ARM通用中断控制器架构手册V3.0和V4.0的 ...

  6. GICv3软件overview手册之虚拟化

    ARMv8-A 可选择支持虚拟化.GICv3也支持虚拟化.GICv3对虚拟化的支持包括: (1)CPU接口寄存器的硬件虚拟化: (2)虚拟化中断: (3)维护中断: NOTE: GIC架构不提供虚拟化 ...

  7. GICv3软件overview手册之发送和接受SGI

    SGI中断为软件产生中断,软件可以通过写中断控制器的寄存器触发该中断. 1. 产生SGI 在CPU接口中可以通过写SGI寄存器来产生一个SGI中断. 下图为SGI寄存器的基本格式: (1)控制SGI ...

  8. GICv3软件overview手册之GICv4对虚拟LPI的直接注入(2)

    1. vPE和vINTID的映射 EventID-DeviceID的合并被映射到vPE和vINTID.当EventID和DeviceID相同时使用VMAPI命令: VMAPI <DeviceID ...

  9. GICv3软件overview手册之中断处理(2)

    1. 执行优先级&抢占 PMR设置中断发给某个PE的最小优先级.GICv3架构存在执行优先级的概念.当PE应答一个中断时,它的执行优先级变成中断的.当PE写EOI寄存器时执行优先级返回之前的值 ...

最新文章

  1. Android AppCompatCheckBox在低版本上不显示问题
  2. Cesium学习笔记(五):3D 模型 (http://blog.csdn.net/umgsoil/article/details/74572877)
  3. linux之文本比较工具
  4. 【数学建模】图论模型-Floyd算法(最优化)
  5. 一步一步学Silverlight 2系列(6):键盘事件处理
  6. 查询ecshop网站代码排查方法_提升网站访问速度,提升网站访问速度,提升网站访问速度的个人经验分享...
  7. 为什么在python中整数的值没有限制_python-为什么math.log接受大整数值?
  8. 泛型TListT Generics.Collections单元
  9. 虚拟机VMware的Ubuntu下安装tensorflow详解
  10. Linux 动态链接和静态链接简析(库名与库文件名)
  11. 使用Gradle构建Spring源码
  12. ati 缺少关键性文件_win10重装系统缺少计算机所需的介质驱动程序的解决方法
  13. 湖南大学离散数学实验——代码(一)
  14. stc c语言子程序库,STC15 系列宏晶单片机的样例程序 - 下载 - 搜珍网
  15. 【Redis-6.0.8】Redis中的RAX
  16. body英语什么意思是什么_body是什么意思中文翻译
  17. 2021-12-19 《聪明的投资者》学习笔记-15.积极型投资者的股票选择--7个标准。低市盈率,价格低于净流动资产
  18. 【CSS】用CSS画太极图
  19. Visio中的内容另存为图片且不改变画质
  20. 好书推荐:《黑客秘笈:渗透测试实用指南》

热门文章

  1. 决定物联网安全的有哪些因素
  2. 张量基础2(张量乘法和对称)
  3. mysql重启后数据库消失_linux重启后mysql数据库文件全部丢失mysql无法启动
  4. java画图板之平面山水画(二)
  5. Vue:el-dialog可拖拽
  6. Keras Tuner官方教程
  7. bzero和memset函数区别联系
  8. CAD中如何布置火灾探测器?消防探测器范围计算
  9. MAC 安装及配置maven
  10. 区块链 | 为什么说百度云BaaS是全新的云服务平台?