ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Globalplatform TEE api介绍

2021-06-21 15:02:43  阅读:381  来源: 互联网

标签:Globalplatform api TEE TEEC API Result uint32 TA


文章目录


★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★

1、TEE API介绍

TEE API分两种:

  • 一类是CA与TA通信的API,实现方式就是应用程序调用libteec.so库,libteec.so库是由optee_client编译出的,libteec.so中调用了dev/tee_priv节点陷入kernel
    mode,在kernel mode中调用smc同步异常指令陷入到ATF,ATF再跳出到TEE OS, TEE
    OS再将消息发送给相应的TA。
    该API在globalplatform中的TEE_Client_API_Specification-V1.0_c.pdf文档中有所规定,api的具体实现是在optee_client/libteec
  • 一类是TA系统调用TEE OS的API,这是的实现方式其实就是系统调用,调用SVC同步异常指令,进入kernel mode。
    该API在globalplatform中的GPD_TEE_Internal_Core_API_Specification_v1.1.pdf文档中有所规定,api的具体实现是在optee_os\lib\libutee

2、Client API : CA与TA通信的API介绍

这类api不到10个,如下所示

TEEC_Result TEEC_InitializeContext(const char *name, TEEC_Context *ctx)
TEEC_Result TEEC_OpenSession(TEEC_Context *ctx, TEEC_Session *session,
			const TEEC_UUID *destination,
			uint32_t connection_method, const void *connection_data,
			TEEC_Operation *operation, uint32_t *ret_origin)
TEEC_Result TEEC_InvokeCommand(TEEC_Session *session, uint32_t cmd_id,
			TEEC_Operation *operation, uint32_t *error_origin)
void TEEC_CloseSession(TEEC_Session *session)
TEEC_Result TEEC_RegisterSharedMemory(TEEC_Context *ctx, TEEC_SharedMemory *shm)
TEEC_Result TEEC_RegisterSharedMemoryFileDescriptor(TEEC_Context *ctx,
TEEC_Result TEEC_AllocateSharedMemory(TEEC_Context *ctx, TEEC_SharedMemory *shm)

3、TEE API : TA系统调用TEE OS的API

这类api就有很多了,也分好几类:
一般类api:

TEE_Result TEE_OpenTASession(const TEE_UUID *destination,
TEE_Result TEE_InvokeTACommand(TEE_TASessionHandle session,
void TEE_CloseTASession(TEE_TASessionHandle session)
TEE_Result TEE_CheckMemoryAcce***ights(uint32_t accessFlags, void *buffer,
TEE_Result TEE_Wait(uint32_t timeout)
TEE_Result TEE_GetTAPersistentTime(TEE_Time *time)
TEE_Result TEE_SetTAPersistentTime(const TEE_Time *time)
TEE_Result TEE_CacheClean(char *buf, size_t len)
TEE_Result TEE_CacheFlush(char *buf, size_t len)
TEE_Result TEE_CacheInvalidate(char *buf, size_t len)

除此之外,还有存储来、算法类…

标签:Globalplatform,api,TEE,TEEC,API,Result,uint32,TA
来源: https://blog.51cto.com/u_15278218/2931176

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有