optee os syscall

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


在定义一个syscall的时候,在userspace层需要通过UTEE\_SYSCALL宏来实现,在optee中所有的 utee\_xxx类似的接口都使用该宏定义。在 lib\libutee\arch\arm\utee\_syscalls\_a64.S 中实现



.macro UTEE_SYSCALL name, scn, num_args
mov x8, #(\scn)
svc #0 //触发svc异常,陷入EL1
ret


该宏相当于实现吧了 utee\_xxx 的函数,宏的参数 name 相当于 utee\_xxx,scn是系统调用的index,numargs参数个数,小于或等于4则表示不需要传递参数给system call。


## secure EL1


从el0的svc陷入到optee os内核,首先走到optee os的异常向量表



//core\arch\arm\kernel\thread_a64.S
el0_sync_a64
b el0_sync_a64_finish
b.eq el0_svc
bl thread_svc_handler
sess->handle_svc(regs)
user_ta_handle_svc //core\kernel\user_ta.c
// 根据 scn 从 tee_svc_syscall_table 中找到入口函数
scf = get_tee_syscall_func(scn)
set_svc_retval(regs, tee_svc_do_call(regs, scf))
tee_svc_do_call // 跳转到optee os 中的 syscall entry
/* Call the svc function */
ldr x16, [x19, #SC_REC_X1]
blr x16


根据 scn 从 tee\_svc\_syscall\_table 中找到入口函数。tee\_svc\_syscall\_table定义如下



// core\arch\arm\tee\arch_svc.c
static const struct syscall_entry tee_svc_syscall_table[] = {
///…
SYSCALL_ENTRY(syscall_open_ta_session)
///…
};


例子:  
 触发方式,linux终端输入以下命令  
 `xtest 1011`



TA_InvokeCommandEntryPoint //imx-optee-test\ta\rpc_test\ta_entry.c
switch (nCommandID) {
case TA_RPC_CMD_CRYPT_SHA256:
return rpc_sha256(false, nParamTypes, pParams);
// imx-optee-test\ta\rpc_test\ta_rpc.c
rpc_call_cryp(sec_mem, nParamTypes, pParams, TA_CRYPT_CMD_SHA256);
TEE_OpenTASession(&cryp_uuid, TEE_TIMEOUT_INFINITE, types,
params, &cryp_session, &origin);



### 给大家的福利


**零基础入门**


对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


![](https://i-blog.csdnimg.cn/blog_migrate/adf0897b07ab2276161763a94ef2b8b3.png)


同时每个成长路线对应的板块都有配套的视频提供:


![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3e4801501d80f6bd4fea8230337015a9.png#pic_center)

因篇幅有限,仅展示部分资料

**需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值