![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
atf_doc
文章平均质量分 91
代码改变世界ctw
ARMv8/ARMv9/TEE/安全/芯片
展开
-
4.11-固件映像包 ( FIP:Firmware Image Package )简介
使用固件映像包 ( FIP ) 允许将引导加载程序映像(以及可能的其他payloads)打包到单个文件中,TF-A 可以从非易失性平台存储中加载该文件。从 FIP 加载镜像的驱动程序已添加到storage层,并允许从支持的平台storage读取该package。下面提供并描述了用于创建固件映像包的工具.4.11.1 固件镜像包布局(Firmware Image Package layout)FIP Layout由随后的payload data的tab表组成(table of contents : ToC原创 2022-01-01 15:37:25 · 4875 阅读 · 0 评论 -
[FF-A]-01-Introduction
Armv8.4 架构在安全状态下引入了虚拟化扩展。 Arm® SMMU v3.2 架构 增加了对安全侧的stage 2 translations的支持,以补充 Armv8.4 PE 中的安全 EL2 转换机制。这些架构特性能够将处于安全状态的相互不信任的软件组件相互隔离。隔离是一种实现最小特权原则的机制:软件组件必须只能访问它自己的物理地址空间和系统资源中的区域,例如,正确操作所需的 GIC 中的中断。安全状态下的虚拟化应用原则需遵循以下方式:(1). EL3 中的固件可以与 S-EL1 中的软件隔离原创 2021-10-23 10:54:05 · 2036 阅读 · 0 评论 -
[FF-A]-02-Concepts
Concepts2.1 Partition managerpartition manager负责根据其manifest中规定的要求初始化分区(请参阅第 3 章分区设置)。 partition 描述了系统物理地址空间中的区域以及它需要通过其manifest访问的资源。 partition manager使用manifest来验证资源请求并在验证成功时将资源分配给endpoint。Firmware Framework相对于partition manager和partition定义了以下信任范围:SPM原创 2021-11-28 19:28:03 · 2101 阅读 · 0 评论 -
ATF里面都有什么?
思考: ATF里面都有什么? ATF包含哪些feature?(1)、Initialization of the secure world, for example exception vectors, control registers and interrupts for the platform.EL3的初始化,如向量表、寄存器、中断的初始化(2)、Library support for CPU specific reset and power down sequences. This i原创 2021-10-16 08:04:08 · 1181 阅读 · 0 评论 -
System Control Processor Firmware简介
引流关键词: BL1,BL2,BL3,BL31,BL32,BL33,AP_BL1,AP_BL2,AP_BL3,AP_BL31,AP_BL32,AP_BL33,SCP_BL1,SCP_BL2,BL0,BL30, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、内存管理、页表…快速链接:. ???????????? 个人博客笔记导读目录(全部) ????????????开源电源和系统管理参考固原创 2021-11-21 11:41:31 · 1969 阅读 · 0 评论 -
02- Image Terminology
快速链接:. ???????????? 个人博客笔记导读目录(全部) ????????????总结写到前面, 以下是TF-A文档中的属于或者叫规定:(1)、每一个image前都加上了AP_或SCP_前缀,但是在没有起义的情况下, 前缀AP_、SCP_ 带不带都可以(2)、后缀BL3-1、BL3-2、BL3-3,破折号变成下划线,如BL3_1、BL3_2、BL3_3(3)、不区分大小写,例如BL1和bl1是一个意思(4)、BL1 BL2 BL31 BL32 BL33 后面还可以有其它的imag原创 2021-11-21 11:33:52 · 1150 阅读 · 0 评论 -
9-Building FIP images with support for Trusted Board Boot
9-Building FIP images with support for Trusted Board Boot原创 2021-11-20 09:42:23 · 450 阅读 · 0 评论 -
8-Trusted Board Boot
受信任的板引导 (TBB) 功能通过验证所有固件映像(包括普通世界引导加载程序)来防止恶意固件在平台上运行。它通过使用公钥密码标准 (PKCS) 建立信任链来做到这一点。本文档描述了受信任固件 A (TF-A) TBB 的设计,它是受信任的板引导要求 (TBBR)规范 Arm DEN0006D 的实现。它应该与 固件更新 (FWU)设计文档一起使用,该文档实现了 TBBR 的特定方面。原创 2021-11-20 09:38:48 · 502 阅读 · 0 评论 -
7-CPU Reset
本文档描述了在可信固件-A (TF-A) 中处理 CPU 重置的框架的高级设计。它还描述了平台集成商如何在一定程度上根据系统配置定制此代码,从而简化和优化引导流程。原创 2021-11-20 09:37:51 · 1432 阅读 · 2 评论 -
6-PSCI Power Domain Tree Structure
6-PSCI Power Domain Tree Structure原创 2021-11-20 09:35:26 · 536 阅读 · 0 评论 -
5-Interrupt Management Framework
5-Interrupt Management Framework原创 2021-11-20 09:33:24 · 919 阅读 · 1 评论 -
4.11-固件映像包 (FIP)
( FIP:Firmware Image Package )使用固件映像包 ( FIP ) 允许将引导加载程序映像(以及可能的其他payloads)打包到单个文件中,TF-A 可以从非易失性平台存储中加载该文件。从 FIP 加载镜像的驱动程序已添加到storage层,并允许从支持的平台storage读取该package。下面提供并描述了用于创建固件映像包的工具.原创 2021-11-20 09:32:39 · 1329 阅读 · 0 评论 -
3-Arm CPU Specific Build Macros
本文档描述了 CPU 特定操作框架中存在的各种构建选项,以启用勘误表解决方法并启用平台上特定 CPU 的优化。原创 2021-11-20 09:31:43 · 677 阅读 · 0 评论 -
2-Authentication Framework & Chain of Trust
2-Authentication Framework & Chain of Trust原创 2021-11-20 09:31:12 · 395 阅读 · 0 评论 -
1-Alternative Boot Flows
在预生产系统上,需要能够在最高异常级别执行任意裸机代码。它允许完全、直接地访问硬件,例如运行硅浸泡测试。尽管可以从头开始实施一些裸机安全固件,但这在某些平台上是一项复杂的任务,具体取决于将系统置于预期状态所需的配置级别。与其引导裸机应用程序,一种可能的折衷方案是 通过 TF-A 引导。这是作为替代引导流程实现的,其中修改后的 BL2 引导 EL3 有效负载,而不是加载其他 BL 映像并将控制权传递给 BL31。它通过以下方式降低了开发 EL3 裸机代码的复杂性:EL3 payloads原创 2021-11-20 09:30:42 · 407 阅读 · 0 评论 -
20-Granule Protection Tables Library
Granule Protection Tables Library原创 2021-11-20 09:14:27 · 317 阅读 · 0 评论 -
19-Realm Management Extension (RME)
FEAT_RME(或简称 RME)是 Armv9-A 扩展,是 Arm 机密计算架构 (Arm CCA)的一个组件。TF-A 从 2.6 版开始支持 RME。本章讨论了对 TF-A 的更改以支持 RME,并提供有关如何使用 RME 构建和运行 TF-A 的说明。原创 2021-11-20 09:13:49 · 1239 阅读 · 0 评论 -
13-SDEI: Software Delegated Exception Interface
软件委托异常接口 ( SDEI :Software Delegated Exception Interface) 是非安全世界的 Arm 规范,用于向固件注册处理程序以接收有关系统事件的通知。固件将首先通过异步异常的方式接收系统事件,并在响应中安排注册的处理程序在非安全 EL 中执行原创 2021-11-20 09:11:00 · 1286 阅读 · 0 评论 -
12- Library at ROM
Library at ROM原创 2021-11-20 09:10:25 · 346 阅读 · 0 评论 -
11-Reliability, Availability, and Serviceability (RAS) Extensions
本文档描述了TF-A对 Arm 可靠性、可用性和可服务性 (RAS) 扩展的支持。RAS 是 Armv8.2 及更高版本 CPU 的强制扩展,也是基本 Armv8.0 架构的可选扩展。与EHF一起,对 RAS 扩展的支持启用了处理平台错误的固件优先范例:错误导致的异常被路由到 EL3 并在 EL3 中处理。所述错误是同步外部中止 (SEA)、异步外部中止(信号为 SError)、故障处理和错误恢复中断。EHF文档提到了各种错误处理用例。关于 Arm RAS 扩展、标准错误记录的描述,以及 RA原创 2021-11-20 09:09:46 · 1486 阅读 · 0 评论 -
18-Chain of trust bindings
Chain of trust bindings原创 2021-11-20 00:17:14 · 232 阅读 · 0 评论 -
17-Translation (XLAT) Tables Library
Translation (XLAT) Tables Library原创 2021-11-20 00:16:43 · 986 阅读 · 1 评论 -
10-Platform Interrupt Controller API
本文档列出了可选的平台中断控制器 API,它从通用代码中抽象出中断控制器的运行时配置和控制。 移植指南中描述了必需的 API。原创 2021-11-20 00:15:48 · 221 阅读 · 0 评论 -
09-Maximum Power Mitigation Mechanism (MPMM)
MPMM 是一些 Arm Armv9-A 内核支持的可选微架构电源管理机制,从 Cortex-X2、Cortex-A710 和 Cortex-A510 内核开始。 这种机制检测和限制高活动事件,以协助 SoC 处理器电源域动态功率预算,并限制对过流条件的全轨(即时钟斩波)响应的触发。MPMM 由 EL3 运行时固件基于每个内核启用。 固件无法在运行时确定 MPMM 的存在,因此平台必须通过两种可能的机制之一公开此信息:FCONF,由 ENABLE_MPMM_FCONF 构建选项控制。plat_mpmm原创 2021-11-20 00:14:55 · 1200 阅读 · 0 评论 -
08-Measured Boot Driver (MBD)
- Measured Boot 是一种引导流程,可在引导链的每个阶段计算并安全记录代码和其他关键数据的哈希值。- TPM(通常)用于保存测量值。- 这些测量(记录)可以在以后用于证明或执行安全策略原创 2021-11-20 00:14:07 · 654 阅读 · 0 评论 -
07- Firmware Update (FWU)
7.1. Introduction本文档描述了固件更新 (FWU) 功能的设计,该功能使经过验证的固件能够将固件映像从外部接口(例如 USB、UART、SD-eMMC、NAND、NOR 或以太网)更新到 SoC 非易失性存储器(例如 NAND 闪存) 、LPDDR2-NVM 或由平台决定的任何内存。 即使系统中的当前固件损坏或丢失,此功能也会起作用; 因此,它可以用作恢复模式。 它还可以辅以其他更高级别的固件更新软件。FWU 实现了可信板引导要求 (TBBR) 规范 Arm DEN0006C-1 的特定原创 2021-11-20 00:13:30 · 1443 阅读 · 0 评论 -
06-Firmware Configuration Framework
本文档提供了 FCONF 框架的概述。原创 2021-11-20 00:12:34 · 441 阅读 · 0 评论 -
05-Exception Handling Framework
BL1,BL2,BL3,BL31,BL32,BL33,AP_BL1,AP_BL2,AP_BL3,AP_BL31,AP_BL32,AP_BL33,SCP_BL1,SCP_BL2,BL0,BL30, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、内存管理、页表…原创 2021-11-20 00:11:31 · 560 阅读 · 0 评论 -
04-Debug FS
DebugFS功能主要旨在将固件调试数据暴露给更高的软件层,例如非安全组件。这样的组件可以是 TFTF 测试负载或 Linux 内核模块。原创 2021-11-20 00:10:48 · 261 阅读 · 0 评论 -
03-Arm SiP Services
本文列举并描述了 Arm SiP(Silicon Provider)服务。SiP 服务是由芯片实施者或平台提供商提供的非标准、特定于平台的服务。 它们通过从低于 EL3 的异常级别执行的 SMC(“SMC 调用”)指令访问。 SMC 要求 SiP 服务:遵从SMC Calling Convention规范,使用属于 SiP 范围的 SMC 功能 ID,对于 64 位调用,它们是 0xc2000000 - 0xc200ffff,对于 32 位调用,它们是 0x82000000 - 0x8200ffff。原创 2021-11-20 00:09:48 · 804 阅读 · 0 评论 -
02-Activity Monitors
Armv8-A 架构的 FEAT_AMUv1 引入了 Activity Monitors 扩展。 此扩展描述了活动监视器单元 (AMU) 的体系结构,这是一个可选的非侵入式组件,用于通过一组 64 位计数器监视核心事件。当提供 ENABLE_AMU=1 构建选项时,Trusted Firmware-A 在退出 EL3 之前设置 AMU,并将在挂起和恢复时根据需要保存和恢复架构的 AMU 计数器。ARMv8.6-AMU 引入了对 Activity Monitors 事件计数器的虚拟化支持,并引入了控制以原创 2021-11-20 00:00:35 · 548 阅读 · 0 评论 -
01-Secure Payload Dispatcher (SPD)
1.1. OP-TEE Dispatcheropteed (optee dispatcher) 负责调度 optee os程序,它的介绍如下:OP-TEE(Open Portable Trusted Execution Environment)OP-TEE 是一种可信执行环境 (TEE),旨在作为在 Arm 上运行的伴随着非安全 Linux 内核的操作系统, Cortex-A 内核使用 TrustZone 技术。 OP-TEE 实现了TEE Internal Core API v1.1.x,它是公开原创 2021-11-19 22:51:16 · 872 阅读 · 0 评论