ARM IHI0069F GIC architecture specification (1)

2024-03-23 12:36

本文主要是介绍ARM IHI0069F GIC architecture specification (1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CH1.1 关于通用中断控制器 (GIC)


GICv3 架构设计用于与 Armv8-A 和 Armv8-R 兼容的处理元件、PE 一起运行。
通用中断控制器 (GIC) 架构定义:
• 处理连接到GIC 的任何PE 的所有中断源的架构要求。
• 适用于单处理器或多处理器系统的通用中断控制器编程接口。
GIC 是一种支持和控制中断的架构资源。 它提供:
• 用于管理中断源、中断行为以及将中断路由到一个或多个PE 的寄存器。
• 支持:
    — Armv8 架构。
    — 特定于位置的外设中断 (LPI)。
    — 私有外设中断 (PPI)。
    — 软件生成的中断 (SGI)。
    — 共享外设中断 (SPI)。
    — 中断屏蔽和优先级。
    — 单处理器和多处理器系统。
    — 电源管理环境中的唤醒事件。
对于每个 PE,GIC 架构描述了如何从系统内不同类型的中断生成 IRQ 和 FIQ 中断。 Armv8-A 异常模型描述了 PE 如何处理这些 IRQ 和 FIQ 中断。
中断处理还取决于 Armv8 架构的其他方面,例如安全状态和对虚拟化的支持。 Arm 架构提供两种安全状态,每种状态都有一个关联的物理内存地址空间:
• 安全状态。
• 非安全状态。
GIC 架构支持与两种安全状态相关的中断的路由和处理。有关详细信息,请参阅第 4-59 页的中断分组和安全性。
GIC 架构支持 Armv8 模型,用于处理与虚拟机 VM 关联的虚拟中断。 虚拟化系统具有:
• 虚拟机管理程序必须包含在EL2 上执行的组件,负责在VM 之间进行切换。
• 多个VM 在EL1 上执行。
• 在VM 上的EL0 上执行的应用程序。
有关 Armv8 架构的更多信息,请参阅 Arm® 架构参考手册,Armv8,了解 Armv8-A 架构配置文件。 有关 VM 的更多信息,请参阅关于虚拟化的 GIC 支持第 6-154 页。
该规范定义了 GIC 架构的版本 3.0、版本 3.1 (GICv3)、版本 4.0 (GICv4) 和版本 4.1 (GICv4.1)。 版本 2.0 (GICv2) 仅根据对旧版操作的 GICv3 可选支持进行描述,请参阅第 1-28 页的带有旧版操作的 GICv3。 有关 GICv2 架构的详细信息,请参阅 Arm® 通用中断控制器,架构版本 2.0,架构规范。

由于 GICv4 是 GICv3.0 和 GICv3.1 的扩展,因此本手册中对 GICv3 的所有引用同样适用于 GICv4,除非另有明确说明。 GICv4.1 架构规范的任何更改都会相应地指出。

这篇关于ARM IHI0069F GIC architecture specification (1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838331

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

bash: arm-linux-gcc: No such file or directory

ubuntu出故障重装了系统,一直用着的gcc使用不了,提示bash: arm-linux-gcc: No such file or directorywhich找到的命令所在的目录 在google上翻了一阵发现此类问题的帖子不多,后来在Freescale的的LTIB环境配置文档中发现有这么一段:     # Packages required for 64-bit Ubuntu

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte

Cortex-A7:ARM官方推荐的嵌套中断实现机制

0 参考资料 ARM Cortex-A(armV7)编程手册V4.0.pdf ARM体系结构与编程第2版 1 前言 Cortex-M系列内核MCU中断硬件原生支持嵌套中断,开发者不需要为了实现嵌套中断而进行额外的工作。但在Cortex-A7中,硬件原生是不支持嵌套中断的,这从Cortex-A7中断向量表中仅为外部中断设置了一个中断向量可以看出。本文介绍ARM官方推荐使用的嵌套中断实现机

ARM 虚拟化介绍

0.目录 文章目录 0.目录1.概述 1.1 Before you begin 2.虚拟化介绍 2.1 虚拟化为什么重要2.2 hypervisors的两种类型2.3 全虚拟化和半虚拟化2.4 虚拟机和虚拟CPUs 3.AArch64中的虚拟化4.stage 2 转换 4.1 什么是stage 2 转换4.2 VMIDs4.3 VMID vs ASID4.4 属性整合和覆盖4.5模拟

PC/MCU/SoC使用的计算机架构(Architecture)

1. 冯·诺依曼结构 冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。它的核心思想是程序存储器和数据存储器共享同一存储设备,程序和数据以相同的方式存储和访问。冯·诺依曼架构的主要特点包括: 单一存储器:存储程序指令和数据在同一个存储器中。控制单元:通过程序计数器顺序执行指令。数据路径:通过一个共享的总线,将数据

SylixOS ARM平台下内存对齐访问

1.内存对齐 1.1     内存对齐概要 现代计算机中内存空间都是按照byte划分的,从理论上讲对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 1.2     内存对齐作用和原因 各个硬件平台对存储空间的处理上有很大的不同。一些平

ubuntu22.04 qemu 安装windows on arm虚拟机

ubuntu22.04 qemu 安装windows on arm虚拟机 iso: https://uupdump.net/ https://massgrave.dev/windows_arm_links vivo driver: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

正点原子阿尔法ARM开发板-IMX6ULL(二)——介绍情况以及汇编

文章目录 一、裸机开发(21个)二、嵌入式Linux驱动例程三、汇编3.1 处理器内部数据传输指令3.2 存储器访问指令3.3 压栈和出栈指令3.4 跳转指令3.5 算术运算指令3.6 逻辑运算指令 一、裸机开发(21个) 二、嵌入式Linux驱动例程 三、汇编 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编,因为 Cortex-A 芯片一