06-TZ(一)

目录

介绍

配置


介绍

TrustZone是通过ARM处理器的安全模式实现的基于硬件的安全环境。高级操作系统(HLOS)在非安全模式下运行。从非安全模式到安全模式的转换通过安全监视器模式进行。

TrustZone软件由TrustZone board support packag(TZBSP)和Qualcomm Trusted Execution Environmen(QTEE)组件组成。

TrustZone软件映像在初始设备启动过程中由引导加载程序(XBL)加载。

The TZBSP components:

  1. 为芯片组安全提供软件支持
  2. 公开硬件抽象层(hardware abstraction layer,HAL)API,用于芯片组安全功能,如加密、熔丝块和伪随机数生成器(pseudo-random number generato,PRNG)。
  3. 在启动和电源崩溃中唤醒期间,为软件和硬件初始化系统安全环境。
  4. 在运行时提供内存和其他子系统保护和服务

The QTEE components:

  1. 为TrustZone安全应用程序提供安全服务,如图像加载、身份验证、缓存管理、加密、日志记录和QFPROM。
  2. Provide a set of GlobalPlatform compliant APIs。

配置

QUPAC_Access.c文件的内容定义了多个表。以下示例描述了如何分配top-level QUP SEs(QUP):

const QUPv3_se_security_permissions_type qupv3_perms_auto[] =
{
/* PeriphID, ProtocolID, Mode,NsOwner,bAllowFifo,bLoad,bModExcl */
{QUPV3_0_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI, AC_HLOS, TRUE, TRUE,
FALSE },
/*QUPV3_0_SE1*/
/*QUPV3_0_SE2*/
...
};
具有指定协议的QUP填充占位符,而其他QUP保留注释。

1. PeriphID

QUP SE ID 是基于QUP tile 和 SE 索引,例如,QUPV3_0_SE0 stands for QUP tile 0 with it SE indexed 0.

所有QUP SE名称定义在以下位置:

<repo.location>\tz_8155\trustzone_images\core\settings\buses\qup_accesscontrol\qupv3\interface\QupACCommonIds.h, defined under QUPV3_PERIPHID enumeration list

2. PeotocolID

定义QUP固件将修改什么协议。所有协议的表格可在以下表格中找到:

<repo.location>\tz_8155\trustzone_images\core\settings\buses\qup_accesscontrol\qupv3\interface\QupACCommonIds.h, defined as QUPv3_protocol_type enumeration list.

3. Mode

定义QUP固件的默认工作模式。它可以是以下之一:

  1. QUPV3_MODE_FIFO = 0
  2. QUPV3_MODE_CPU_DMA = 1,
  3. QUPV3_MODE_GSI = 2,

*HLOS软件驱动程序实现可能会在运行时过度驱动模式,因此该参数在运行时可能不起作用。

4. NsOwner

它定义了负责初始化和运行的QUP SE的所有者。对于原始设备制造商,它始终是HLOS,因此需要放置AC_HLOS标签。

5. bAllowFifo

允许FIFO模式,始终设置为TRUE.

6. bLoad

加载固件映像始终设置为TRUE.

7. bModExcl

模式独占性始终设置为FALSE.

*QUP access tables are for top level and SSC QUP SE are separated. The format of the table for SSC QUPs is the same as for the top level

实例

概要

TZ需要更改文件为:

QUPAC_Access.c

Path:/Amss_Standard_Oem/tz_8155/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/855

代码修改

在数组QUPv3_se_security_permissions_type qupv3_perms_auto[]中添加配置:

/* PeriphID, ProtocolID, Mode, NsOwner,bAllowFifo,bLoad,bModExcl */
{ QUPV3_0_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI,spiqup0_master1_name AC_HLOS, TRUE, TRUE, FALSE }, // VIP_SPI
/*QUPV3_0_SE1*/
/*QUPV3_0_SE2*/
/*QUPV3_0_SE3*/
{ QUPV3_0_SE4, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96789_2_2_I2C
/*QUPV3_0_SE5*/
/*QUPV3_0_SE6*/
{ QUPV3_0_SE7, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // IPOD_I2C
{ QUPV3_1_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI, AC_HLOS, TRUE, TRUE, FALSE }, // UPDATE_SPI
{ QUPV3_1_SE1, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI, AC_HLOS, TRUE, TRUE, FALSE }, // RPC_SPI
{ QUPV3_1_SE2, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // A2B_I2C
/*QUPV3_1_SE3*/
{ QUPV3_1_SE4, QUPV3_PROTOCOL_UART_2W, QUPV3_MODE_FIFO,AC_HLOS, TRUE,FALSE,FALSE }, // Debug UART
/*QUPV3_1_SE5*/
{ QUPV3_2_SE0, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96745_1_I2C
{ QUPV3_2_SE1, QUPV3_PROTOCOL_I2C,spiqup0_master1_name QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96789_1_2_I2Cspiqup0_master1_name
{ QUPV3_2_SE2, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96745_2_I2C
{ QUPV3_2_SE3, QUPV3_PROTOCOL_UART_4W, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // BT HCI UART
{ QUPV3_2_SE4, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96789_2_1_I2C
{ QUPV3_2_SE5, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO,AC_HLOS, TRUE, TRUE,FALSE }, // DISP_96789_2_1_I2C

参考流程

参考端子定义书,分别对其中的i2c、spi、uart对应的QUP进行配置。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕大明白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值