接上文
本节详细介绍了使用身份验证框架的可信引导实现。本示例对应于TBBR客户端文档中指定的应用功能模式(AFM)。建议阅读本指南和源代码。
Trusted Board Boot Requirements
在CoT中指定了BL1和BL2分别位于drivers/auth/tbbr/tbbr_cot_bl1.c 和 drivers/auth/tbbr/tbbr_cot_bl2.c
BL1和BL2之间公用的部分在drivers/auth/tbbr/tbbr_cot_common.c.
CoT包含了一系列镜像的指针,这个用宏 REGISTER_COT(cot_desc)注册在框架中。cot_desc必须是数组的名称(传递指针或任何其他类型的间接指向数组的东西将导致注册过程失败)必须要数组。
在这个启动流程有多少个镜像是由CoT决定的。在这里规定了在TF-A中,所有COT最少必须呈现的镜像有以下:
• BL2
• SCP_BL2 (platform specific)
• BL31
• BL32 (optional)
• BL33
(BL1不在信任链里面,why)
TBBR指定了这些图像必须附带的其他证书,以便进行正确的身份验证。具体的去看看这个TBBR 的document(后面会讲到)
根据接口的说明,平台必须提供唯一的镜像标识符和证书,这些东西会在启动过程加载。如果平台是按照TBBR的参考,这些标识符可以在include/common/tbbr/tbbr_img_def.h拿到。ARM平台