组件(components)

1. SecureOS的调度器

术语:
(路径:services/spd)
SPD:Secure Payload Dispatcher
opteed:OP-TEE Dispatcher
tlkd:Trusted Little Kernel Dispatcher
trusty:Trusty Dispatcher
mtee: mtk tee Dispatcher
tbase: trustonic Dispatcher
teeid: beanpod Dispatcher
tspd: ?

TLK的介绍
TLK(trust little kernel)是NVIDIA基于LK开发的一个TEE OS,是一个免费的开源软件(FOSS:Free Open Source Software),LK的开源地址, TLK的主页

TLK features include:
Small, pre-emptive kernel
Supports multi-threading, IPCs, and thread scheduling
Added TrustZone features
Added Secure Storage
Under MIT/FreeBSD license

NVIDIA extensions to Little Kernel (LK) include:
User mode
Address-space separation for TAs
TLK Client Application (CA) library
TLK TA library
Crypto library (encrypt/decrypt, key handling) via OpenSSL
Linux kernel driver
Cortex A9/A15 support
Power Management
TrustZone memory carve-out (reconfigurable)
Page table management
Debugging support over UART (USB planned)

Trusty的介绍
术语:AOSP(Android Open Source Project)
Trusty是google开发的TEE软件,详细信息见AOSP官网的trusty主页

Android Open Source Project (AOSP) webpage for Trusty

2. SiP Services

术语:
SIP:Silicon Provider
SiP services是由芯片商或平台商提供的非标准的、平台相关的服务。设计标准需参考SMC Calling Convention
sip service的SMC id的范围:0xc2000000 - 0xc200ffff for 64-bit,0x82000000 - 0x8200ffff for 32-bit

ARM SIP service有:

  • Performance Measurement Framework (PMF)
  • Execution State Switching service
  • DebugFS interface
2.1. Performance Measurement Framework (PMF)
2.2. Execution State Switching service
2.3. DebugFS interface

3. Debug FS

3.1. Overview
3.2. Virtual filesystem
3.3. SMC interface
3.4. Security considerations
3.5. Limitations
3.6. Applications

4. Exception Handling Framework

4.1. Introduction
4.2. The role of Exception Handling Framework
4.3. Interrupt handling
4.4. Registering handler
4.5. Interrupt handling example
4.6. Activating and Deactivating priorities
4.7. Transition of priority levels
4.8. Effect on SMC calls
4.9. Build-time flow
4.10. Run-time flow
4.11. Interrupt Prioritisation Considerations
4.12. Limitations

5. Firmware Configuration Framework

5.1. Introduction
5.2. Accessing properties
5.3. Defining properties
5.4. Loading the property device tree
5.5. Populating the properties
5.6. Namespace guidance
5.7. Properties binding information

6. Firmware Update (FWU)

6.1. Introduction
6.2. FWU Overview
6.3. Image Identification
6.4. FWU State Machine
6.5. BL1 SMC Interface

7. Measured Boot Driver (MBD)

7.1. Properties binding information

8. Platform Interrupt Controller API

8.1. Function: unsigned int plat_ic_get_running_priority(void); [optional]
8.2. Function: int plat_ic_is_spi(unsigned int id); [optional]
8.3. Function: int plat_ic_is_ppi(unsigned int id); [optional]
8.4. Function: int plat_ic_is_sgi(unsigned int id); [optional]
8.5. Function: unsigned int plat_ic_get_interrupt_active(unsigned int id); [optional]
8.6. Function: void plat_ic_enable_interrupt(unsigned int id); [optional]
8.7. Function: void plat_ic_disable_interrupt(unsigned int id); [optional]
8.8. Function: void plat_ic_set_interrupt_priority(unsigned int id, unsigned int priority); [optional]
8.9. Function: int plat_ic_has_interrupt_type(unsigned int type); [optional]
8.10. Function: void plat_ic_set_interrupt_type(unsigned int id, unsigned int type); [optional]
8.11. Function: void plat_ic_raise_el3_sgi(int sgi_num, u_register_t target); [optional]
8.12. Function: void plat_ic_set_spi_routing(unsigned int id, unsigned int routing_mode, u_register_t mpidr); [optional]
8.13. Function: void plat_ic_set_interrupt_pending(unsigned int id); [optional]
8.14. Function: void plat_ic_clear_interrupt_pending(unsigned int id); [optional]
8.15. Function: unsigned int plat_ic_set_priority_mask(unsigned int id); [optional]
8.16. Function: unsigned int plat_ic_get_interrupt_id(unsigned int raw); [optional]

9. Reliability, Availability, and Serviceability (RAS) Extensions

9.1. Overview
9.2. Platform APIs
9.3. Registering RAS error records
9.4. Registering RAS interrupts
9.5. Double-fault handling
9.6. Engaging the RAS framework
9.7. Interaction with Exception Handling Framework

10. Library at ROM

10.1. Introduction
10.2. Index file
10.3. Wrapper functions
10.4. Script
10.5. Patching of functions in library at ROM
10.6. Memory impact
10.7. Build library at ROM

11. SDEI: Software Delegated Exception Interface

11.1. Introduction
11.2. Defining events
11.3. Event definition example
11.4. Configuration within Exception Handling Framework
11.5. Determining client EL
11.6. Explicit dispatch of events
11.7. Porting requirements
11.8. Note on writing SDEI event handlers

12. Secure Partition Manager

12.1. Acronyms
12.2. Foreword
12.3. Sample reference stack
12.4. TF-A build options
12.5. Boot process
12.6. Hafnium in the secure world
12.7. References

13. Secure Partition Manager (MM)

13.1. Foreword
13.2. Background
13.3. Introduction
13.4. Description
13.5. Runtime model of the Secure Partition

14. PSA FF-A manifest binding to device tree

14.1. Version 1.0
14.2. Memory Regions
14.3. Device Regions

15. Translation (XLAT) Tables Library

15.1. About version 1 and version 2
15.2. Design concepts and interfaces
15.3. Library APIs
15.4. Library limitations
15.5. Implementation details

16. Chain of trust bindings

16.1. cot
16.2. Manifests and Certificate node bindings definition
16.3. Images and Image node bindings definition
16.4. non-volatile counter node binding definition
16.5. Future update to chain of trust binding

System Design

Platform Ports

Performance & Testing

Security Advisories

Design Documents

Change Log & Release Notes

Change Log for Upcoming Release

Glossary

License

Docs » Processes & PoliciesView page source

Processes & Policies

Contents

[ATF]-ATF文档和代码的深度解读相关推荐

  1. Java DOC 转换给 PDF 格式文档的代码

    工作过程,把写代码过程经常用的代码片段备份一次,下面的代码段是关于Java DOC 转换给 PDF 格式文档的代码,应该对码农们有所用. import java.io.File; import jav ...

  2. 无痛苦的软件维护——文档和代码

    程序维护的时候经常遇到两个困难: 1.不知道这段代码是实现什么功能的(code -- function): 2.不知道这个功能是实现什么需求的(function -- business). 解决第一个 ...

  3. html文档支持代码高亮,为HTML中的代码添加语法高亮

    Hexo 默认对于代码高亮的处理过于粗暴,改变了其原有的 标签形式,而且并没有达到良好的效果,所以尝试自己添加语法高亮功能.此文档也适用于其它HTML文档中代码的语法高亮显示. 我这里使用highli ...

  4. 关于Typora编辑器编写markdown文档的代码块出现前字吞后字的解决方法

    关于Typora编辑器编写markdown文档的代码块出现前字吞后字的解决方法 最近使用Typora编辑器编写markdown文档的代码块出现前字吞后字的情况,结果我在网上并未搜到什么解决方法(或者并 ...

  5. 用平静的心去看文档读代码!

    我发现了很严重的问题,如果心不静下来,你对文档和代码的理解能力将会大打折扣.我就是那种心都静不下来的那种,以前看mui框架和weui框架觉得他们的jquery怎么这么晦涩难懂,说的是人话么.这就是我心 ...

  6. Jenkins 插件文档即代码:将文档迁移到 GitH​ub

    在2019年9月,我们宣布了对 GitHub 作为 Jenkins 插件站点文档来源的支持.感谢 Zbynek Konecny 和 Olivier Vernin 以及其他贡献者, 现在可以将插件文档直 ...

  7. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  8. 【总结】新手必看!超过60个小时+600页文档的免费AI深度学习理论与实践课程...

    自从2012年AlexNet大放光彩以来,深度学习已经走过了快10年了,给学术界和工业界都带来了翻天覆地的变化.世界各国争先恐后,不断推出人工智能相关的政策,力争在新一轮技术革命中继续引领世界! 巨头 ...

  9. 将一个PPT文档按页分割成多个PPT文档的代码

    1.打开需要分割的PPT文档(假设文件名为"原始文档.ppt"): 2.键入Alt+F11切换到VBA编辑环境,然后选择菜单"插入-模块": 3.在代码编辑区粘 ...

最新文章

  1. Java项目:实现权限管理系统(java+SpringBoot+MyBatis+AOP+LayUI+Mysql)
  2. 20165334 四则运算阶段性总结(第二周)
  3. python---基础知识回顾(五)(python2.7和python3.5中的编码)
  4. Spring3.2新注解@ControllerAdvice
  5. 速卖通店铺流量少的原因分析以及解决办法
  6. 永磁同步电机矢量控制中的双闭环是什么意思_三菱伺服控制器与变频器区别,三菱伺服控制器优势在哪?...
  7. 概念模型——分析模式学习笔记
  8. golang key map 所有_Golang语言小技巧(踩坑)
  9. 人工智能白皮书(2022年)
  10. Leetcode NO.63 Unique Paths II
  11. 目前航信版开票软件自身导入文本数据的问题
  12. 零基础C语言入门007——ascⅡ字符表、字符常量
  13. android lbs 定位服务,基于Android的LBS定位系统的设计
  14. 你的奋斗也许只是一个屁
  15. gbd调试的基本使用方法
  16. 樊登读书分享ppt_樊登读书会
  17. Android 样式系统 | 常见的主题背景属性
  18. java程序设计方法
  19. 子组件调用父组件中方法的方法
  20. Hadoop架构、组件、及其术语汇总和理解

热门文章

  1. 数据中心市场的投资风险与回报
  2. AI:2020年6月22日北京智源大会演讲分享之10:40-11:10Daniel教授《 可微分的加权有限状态机及其机器学习应用》、11:10何晓冬教授《启动“智源-京东”任务导向多模态对话大赛》
  3. HighNewTech:动图看1997~2019年《世界最有价值公司Top10排名》的变迁史——《Most Valuable Companies In The World》
  4. Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息
  5. 原生js获取css样式
  6. Scanner类的基本总结
  7. 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
  8. Java学习手记2——多线程
  9. sql语句(access语句)第8条数据到第18条数据
  10. cocos2dx的图片载入