问题引入
高通8255的技术文档中Sanity Testing中有这么两条用例,由于做基线测试需要对这部分进行测试,于是查找资料进行了解,过程中了解到的,遇到的问题,可能的解决记录于此文档。
QSEECom
QSEECom 是高通安全执行环境(Qualcomm Secure Execution Environment,QSEE)中的一个关键组件,用于在普通操作系统(如 Android)和安全世界(TrustZone)之间进行通信。QSEE 是基于 ARM TrustZone 技术实现的可信执行环境(Trusted Execution Environment,TEE),用于保护设备中的敏感数据和执行安全关键任务。
作用
QSEECom 提供了一种机制,使普通世界的应用程序能够加载和与在安全世界中运行的信任应用程序(Trustlets)进行交互。具体来说,QSEECom 负责以下任务:
-
加载 Trustlets:QSEECom 通过读取设备上的相关文件(如 .mdt 和 .bXX 文件),将 Trustlets 加载到安全世界中。
-
通信:一旦 Trustlets 被加载,普通世界的应用程序可以通过 QSEECom 向 Trustlets 发送命令,并接收响应。这通常是通过特定的系统调用(SCM 调用)实现的。
工作原理
QSEECom 的工作流程大致如下:
-
打开设备和文件:QSEECom 打开
/dev/qseecom
设备,并读取与 Trustlets 相关的文件(如 .mdt 文件)。 -
分配缓冲区:QSEECom 分配一个连续的内存缓冲区,将 .mdt 和 .bXX 文件复制到该缓冲区中。