ATF源码参考文档中文版-关于
about/index 关于
关于的文档一共有五个:
1、features-特点
本页概述了当前|TF-A|功能集。有关这些特性及其实现细节的完整描述,请参见组件和系统设计章节中的文档。ref:Change Log&Release Notes
提供了自上次发布以来所做更改的详细信息。
1.1、当前功能
- 安全世界的初始化,例如平台的异常向量、控制寄存器和中断。
- 库支持CPU特定的复位和断电序列。这包括对勘误表解决方案和最新Arm DynamicIQ CPU的支持。
- 驱动程序实现Arm System IP的标准初始化,例如通用中断控制器(GIC)、高速缓存相干互连(CCI)、高速缓冲存储器相干网络(CCN)、网络互连(NIC)和信任区控制器(TZC)。
- 通用|SCMI|驱动器,用于与符合要求的电源控制器接口,例如Arm System Control Processor(SCP)。
- SMC(安全监控调用)处理,符合使用EL3运行时服务框架的“SMC呼叫约定”。
- PSCI对CPU、群集和系统电源管理用例的库支持。此库与AArch64 EL3运行时软件预集成,也适合与其他AArch32 EL3运行时间软件集成,例如AArch32安全操作系统。
- 最小的AArch32安全有效载荷(SP_MIN),用于实现|PSCI|库与AArch32 EL3运行时软件的集成。(BL32库下面的那个文件,解密了)
- 安全监视器库代码,如世界切换、EL1上下文管理和中断路由。当存在Secure-EL1有效负载(SP)时,例如安全操作系统,AArch64 EL3运行时软件必须与安全有效负载调度器(SPD)组件集成,以定制与SP的交互。 (SP就是对应的TEEOS、SPD就是和EL3集成,然后才能与TEEOS进行交互?这个意思吗)
- 测试SP和SPD以演示AArch64安全监视器功能以及SP与PSCI的交互。
- “OP-TEE安全操作系统”_、“NVIDIA Trusted Little Kernel”_和“Trusty Secure OS”_的SPD。(ATF里面集成了这几个安全操作系统的SPD,如果是这几个操作系统的话可以直接与ATF进行交互。如果不是的话,需要自己去集成SPD?)
- Trusted Board Boot实现,符合所有强制性TBBR要求。这包括镜像验证、固件更新(或恢复模式)以及将**各种固件映像打包到固件映像包(FIP)**中。
- TBB与Arm CryptoCell产品预集成,以利用其硬件信任根和加密加速服务。
- 可靠性、可用性和可维护性(RAS)功能,包括
- 安全分区管理器(SPM),用于管理Secure-EL0中的安全分区,可用于实现简单的管理和安全服务。
- 一个|SDEI|调度程序,用于路由基于中断的|SDEI事件。(软件委托异常接口(SDEI))
- 一种异常处理框架(EHF),允许将EL3中断分派给其注册的处理程序,以便于固件优先错误处理。
- **一个动态配置框架,如果平台需要,它可以在运行时配置每个固件映像。它还允许作为FIP的一部分加载硬件配置(例如,内核设备树),以通过固件阶段。此功能现在已包含在固件配置框架(fconf)**中。
- 支持替代引导流,例如,支持使用其他固件或单独的安全系统处理器加载EL3运行时软件的平台,或非TF-a ROM期望在EL3加载BL2的平台。(这个就是用户自定义这个ATF启动过程五个阶段的不同东西。)
- 支持GCC、LLVM和Arm编译器6工具链。
- 支持将多个库组合成一个“romlib”映像,该映像可以跨映像共享,以减少内存占用。romlib映像存储在ROM中,但可以通过一个跳转表访问,该跳转表可以存储在读写存储器中,从而允许对库代码进行修补。
- 支持Secure Partition Manager Dispatcher(SPMD)组件作为新的标准服务。
- 在正常和安全环境中支持ARMv8.3指针身份验证。只要体系结构支持可用,就可以在正常情况下使用指针身份验证,而不需要额外的构建标志。
- 位置独立可执行文件(PIE)支持。目前适用于BL2、BL31和TSP,未来版本中将添加更多支持。(就是这两个镜像的地址可以随便放?)
1.2、未来功能
① -支持其他平台。
② -优化定位独立可执行文件(PIE)支持。
③ -继续支持FF-A v1.0(正式名称为SPCI)规范,以便在安全世界中使用安全分区管理。
④ -文档增强。
⑤ -持续支持新的架构功能、CPU和系统IP。
⑥ -持续支持新的Arm系统架构规范。
⑦ -持续的安全强化、优化和质量改进。
1.3、部分功能的详细资料
… _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest
… _OP-TEE Secure OS: https://github.com/OP-TEE/optee_os
… _NVIDIA Trusted Little Kernel: http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/ote_partner/tlk.git;a=summary
… _Trusty Secure OS: https://source.android.com/security/trusty
2、release-information
2.1、项目发布Cadence
该项目目前的目标是每6个月发布一次,并在主分支上标记。
在目标发布日期之前的4周内,代码将被冻结(停止合并非必要的更改)。
在此之后,候选版本将开始出现,仅合并版本所需的bug修复或更新。
维护人员可以自由地使用他们的判断来判断什么样的更改对发布至关重要。
如果在合并窗口期间需要合并到集成分支上的重大更改,则可以在代码冻结后创建发布分支。
将对候选发布版本执行发布测试,根据发现的问题,可能会创建其他候选发布版本来修复这些问题。
|<----------6 months---------->|
|<---4 weeks--->| |<---4 weeks--->|
+-----------------------------------------------------------> time
| | | |
code freeze ver w.x code freeze ver y.z
2.2、即将发布的版本
2.3、删除不推荐的接口
3、maintainers-维护人员
Trusted Firmware-A(TF-A)是一个开放的治理社区项目。所有贡献最终由下面列出的维护人员合并。代码库大部分的技术所有权属于下面列出的代码所有者。在
维护人员合并贡献。
更多详情请参见“项目维护流程”文档。
…|M|替换::邮件
…|G|替换::GitHub ID
…|F|replace::文件
…_维护者:
维护者
瑞思拜,就不展开了
4、contact
我们欢迎对|TF-A|的任何反馈,有几种方法可以提供或获得支持。
5、acknowledgements
…注意:
本文件仅适用于传统贡献,以确认“Arm Limited and contributors”版权声明中提到的特定贡献者。
由于现在鼓励投稿人将其姓名或公司名称直接写入版权声明,因此此文件与新投稿无关。有关用于新贡献的正确模板,请参见:ref:License
文档。
-利纳罗有限公司
-漫威国际有限公司。
-NVIDIA公司
-恩智浦半导体
-SociaNext股份有限公司。
-ST微电子
-Xilinx,股份有限公司。