1、前言
我们前面知道了整个构建TEE的执行环境的软件有REE侧部分和TEE侧部分,分别包括CA、REE侧接口库(libteec)、常驻进程(tee_supplicant)、OP-TEE驱动、OP-TEE OS、TA等部分。
黄色是我们已经搞过的,红色是等着咱们去解决的。
这一步就是开始我们的安全驱动-REE侧OP-TEE的驱动:
2、REE侧OP-TEE的驱动
(华为就是那个teecd)
OP-TEE驱动是REE侧与TEE侧之间进行交互的重要通道,在REE侧的CA接口以及RPC请求的接收和结果的返回最终都会被发送到驱动中,由驱动对数据做进一步的处理。
OP-TEE驱动通过解析传入的参数,重新组合数据,将需要被传入到TEE侧的数据载入到共享内存中,触发安全监控模式调用(smc)进入到Monitor模式或EL3中将数据发送给TEE。
知道了这个的作用,我们结合代码看看: