【OP-TEE】tee supplicant简介

tee supplicant的工作流程

tee supplicant介绍

tee supplicant是optee os的ree侧也就是运行于linux应用层的守护进程,其作用为处理rpc请求。帮助tee侧访问ree侧的资源等。

工作流程

作为进程被linux启动时加载。open_dev打开内核的tee驱动,然后执行daemon(0, 0)函数将程序作为后台程序执行,所以调试的
时候看不见log信息,此时要看到打印信息需要修改daemon参数。daemon(1, 1)

其核心为process_one_request函数,在此函数里解析rpc命令并运行。
在这里插入图片描述
在此函数里调用ioctl到内核的tee驱动,阻塞等待tee的rpc请求。

if(!read_request(arg->fd, &request))
	return false

当rpc请求到来后进程恢复运行,判断num_waiter,其为处理rpc的线程数量,小于等于1时会调用spawn_thread再创建线程运行process_one_request,其目的为避免大量rpc请求引发的进程阻塞。解析出rpc命令后执行。循环此操作。

rpc处理的指令如下,包括加载ta,申请共享内存,访问文件系统等。
在这里插入图片描述


版权声明:本文为qq_42878531原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。