您好!
刚接触optee,对其不是很了解。想问下:我用Qemu模拟器来运行op-tee,我尝试将实现的GP-TEE规范的API如TEE_WriteObjectData中所调用的utee_storage_obj_write改为 syscall_storage_obj_write,让该函数不需要经过系统调用而直接转到内核层调用 syscall_storage_obj_write。于是我更改了相关的makefile文件,让编译通过,使用对应的测试命令来看看结果,发现我把修改后的TEE_WriteObjectData直接调用的syscall_storage_obj_write注释掉,编译运行相同的测试命令,结果和没有注释掉的结果一样,按理不应该,系统不应该再执行syscall_storage_obj_write呀,这个怎么解释呀?
还出现一个问题:我这样修改后,utee_storage_obj_write没有被调用,对应的系统调用也不会执行,为啥我把syscall_storage_obj_write名称改了,并将arch_svc.c中的tee_svc_syscall_table中的SYSCALL_ENTRY(syscall_storage_obj_write)去除,编译出错提示未发现syscall_storage_obj_write的定义,这个是为什么呀?
qemu对trust-zone,ARMv8.0 架构的支持也是在不断增强的。具体进展,有些不清楚了。
刚才网上搜了一下,感觉对secure world,目前是支持的。但是对ARMv8.0的整个支持,不一定完善。你可以多实践一下。下面是两个链接:
ARM TrustZone in QEMU
OPTEE with Android on QEMU · Issue #605 · OP-TEE/optee_os · GitHub
好的,我去看看。谢谢啦