问题标签 [op-tee]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - OP-TEE的Linux调度器切换到安全世界后如何工作
我在 QEMU 上成功运行了 OP-TEE,并想弄清楚调度程序是如何工作的。我修改了源代码以在进入 Secure World 之前和返回 Normal World 之后获取变量jiffies 。这是一段代码。
这里tee_smc_call是发出SMC调用的 asm 函数。如果定时器中断导致离开 SW,我发现j将大于i 。我认为这意味着定时器中断在某处处理。如果我的推论不正确,请纠正我。
我转到链接https://lists.linaro.org/pipermail/tee-dev/2015-August/000160.html和https://github.com/OP-TEE/optee_os/issues/332。OP-TEE 开发人员表示,一旦切换回 NW,定时器中断将由 NW 提供服务。
我阅读了 SW 的 IRQ 处理程序的源代码。我以为 SW 处理程序会找到 NW 的 VBAR 并将返回地址更改为 NW 处理程序。但是我发现没有这样的代码。
我在这个站点上阅读了一些帖子
TrustZone: Scheduling processes from the two worlds和
ARM TrustZone - Behavior of the scheduler in Secure and Non-Secure OS。后者与我的相似,但答案并未说明 OP-TEE 实现中发生了什么。
所以我想知道在返回 NW 后再次处理定时器中断的魔力是什么,因为它已经在 SW 中服务过一次。
我不熟悉 OP-TEE。这是我的第一个问题。如果不清楚或愚蠢,请原谅我。谢谢。
arm - Linaro 如何安排 OPTEE?
我想知道代码的哪一部分是项目 OPTEE https://github.com/OP-TEE的调度程序。
更具体地说,代码决定了多核架构在哪个 CPU 安全世界和正常字处理上运行。
任何建议都非常感谢。
yocto - 如何在裸盒中为 imx6ul 添加 optee
我想optee
为我的 imx6ul 板集成。为此,我下载optee_os
并成功编译,我还使用 menuconfig 在内核级别启用了 optee 支持。
现在如何将optee
支持集成到barebox
. 谢谢。
mbedtls - 解析 ECC 私钥缓冲区
我正在使用 OPTEE-OS 和 mbedTLS 并想创建一个 CSR。我正在使用 Global Platform API 创建我的 EC 密钥:
然后提取私钥:
然后使用 mbedTLS 解析这个值并创建一个来创建一个 CSR:
但是,从 TEE_GetObjectBufferAttribute 中提取的值没有标题和足迹:
并且只是一个二进制数组(不是字符串)。我目前收到以下错误代码:"-15616: PK - Invalid key tag or value".
有没有办法mbedtls_pk_context
只用我的私钥的二进制值创建一个?
makefile - GNU Make 中的 Double Dollar "$$@" 目标名称
我有一条来自 OP-TEE 的规则(使用大型 makefile 包含并生成调用树来编译两个操作系统内核和应用程序),其中包含一些立即展开的变量——据我所知,这里没有第二次展开相关,因为double double Dollar 在规则中,因此不受第二次扩展的影响。它应该始终在第二阶段进行扩展:
在输出中,可以看到所有出现的$@
and$$@
都由 make 扩展,而不是 sh,但是单美元的没有填充正确的值,双美元的也没有自行转义:
我所期待的是:
哪种 make 机制可能是扩展在这里以不同方式工作的原因?
这个目标在其他 makefile 中嵌套了两层,并且有四个 make 调用,因此很难找出 buildchain 在这里配置的不同之处。
我无法使用最小的 makefile 重现此行为:
通过 $@ 扩展为目标名称和 $$@ 扩展为字符串或位置 shell 参数的空列表,产生预期的输出:
正如预期的那样,指定 .SECONDEXPANSION 不会更改结果。
docker - 从 docker 容器在主机上运行可执行文件
我在主机上有一个可执行文件,我想从 Docker 运行它。从 Docker 运行它很重要,因此您应该在内部调用它,并且它应该调用主机上的可执行文件。
Summerize:我需要将 Docker 容器与主机连接起来的东西,并且我可以调用 docker 容器中的可执行文件,即调用主机上相同的可执行文件。这可能吗?
我尝试了卷,但它对我不起作用,或者我以一种糟糕的方式使用它。
openssl - 如何为 OP-TEE 小型可信操作系统构建 OpenSSL?
我想为optee_os构建 OpenSSL 1.0.2 。但是 OpenSSL 非常大并且有很多依赖项(c 库 fe)。OP-TEE 没有 c 库(和其他库)。
我可以仅使用加密算法构建 OpenSSL 吗?(没有文件,z-lib 等)。
yocto - 带有 OP-TEE 示例的 IMX7D Sabre Yocto 项目
我第一次尝试使用 Yocto 使用 OP-TEE 为 imx7d saber 创建 SD 卡 Linux 映像。我按照此文档https://www.nxp.com/docs/en/user-guide/i.MX_Yocto_Project_User's_Guide_Linux.pdf构建图像。我能够使用 OP-TEE 构建映像并成功运行 OP-TEE Xtest。但是现在我不知道如何在图像中运行 OP-TEE 示例。这些二进制文件不在 bin 文件夹中
问题
- 如何将 OP-TEE 示例包含到 Yocto
将来如何将我自己的受信任应用程序添加到 Yocto。
谢谢
yocto - 将 OP-TEE 添加到 Yocto
我正在尝试构建一个包含 OP-TEE 的 Yocto 图像。我已经习惯了 OP-TEE 的构建仓库(bl1.bin 等)的输出,但我无法让 Yocto 系统做同样的事情。也不/dev/tee
存在任何设备(因此可能未配置内核)。尽管已经安装了 xtest 和 optee-examples。我正在尝试首先针对 QEMU ARMv8 构建它。
到目前为止,这是我的配置:
本地配置文件
bblayers.conf
谢谢你的帮助。
qemu - 如何将 mbedTLS 库与 optee_client 链接?
我想在客户端应用程序(普通世界)中使用 mbedTLS 库。
如何将 mbedTLS 库与 optee_client 链接?( mbedtls )
目前的情况;
- 我第一次使用 QEMU 和 OP-TEE。
- 我已经完成了“构建”和“xtest”。(https://optee.readthedocs.io/en/latest/building/gits/build.html#build)
- 我知道OP-TEE中有mbedtls,TA端可以调用mbedtls库(libmbedtls)。
- 我检查了 #112(https://github.com/OP-TEE/optee_client/issues/112)并尝试这样做,但我无法链接库(步骤 2)。
- 我找不到批评文章。
我的问题是;
- 如何将 mbedtls 库与客户端应用程序(普通世界)链接?
- 如果你不介意,你能告诉我“二进制”是什么意思吗?(.so ? .a? or BINARY in Makefile?)(不好意思问这么基本的问题。)
“编译 foo 并链接第 1 步中的标头和二进制文件。” 来自 #112 ( https://github.com/OP-TEE/optee_client/issues/112 )