TrustZone之与非安全虚拟化交互

到目前为止,我们在示例中忽略了非安全状态中可能存在的虚拟化程序。当存在虚拟化程序时,虚拟机与安全状态之间的许多通信将通过虚拟化程序进行。

例如,在虚拟化环境中,SMC用于访问固件功能和可信服务。固件功能包括诸如电源管理之类的内容,虚拟化程序通常不希望允许虚拟机直接访问这些功能。

虚拟化程序可以截获来自EL1的SMC,这使得虚拟化程序可以检查请求是用于固件服务还是用于可信服务。如果请求是用于固件服务,虚拟化程序可以模拟接口而不是转发调用。虚拟化程序可以将可信服务请求转发到EL3。您可以在以下图表中看到这一点:

相关推荐
普中科技2 天前
【普中STM32F1xx开发攻略--标准库版】-- 第 13 章 STM32 位带操作
stm32·单片机·嵌入式硬件·arm·gpio·普中科技·位带操作
大聪明-PLUS2 天前
io_uring:Linux 上的高性能异步 I/O
linux·嵌入式·arm·smarc
普中科技2 天前
【普中STM32F1xx开发攻略--标准库版】-- 第 12 章 STM32 时钟系统
stm32·单片机·嵌入式硬件·arm·时钟树·普中科技
大聪明-PLUS3 天前
从 C 到 C++20 协程编写方法的演变。第一部分:函数 + 宏 = 协程
linux·嵌入式·arm·smarc
大聪明-PLUS4 天前
3 个诊断 Linux 服务器的脚本
linux·嵌入式·arm·smarc
大聪明-PLUS5 天前
使用 GitLab CI/CD 为 Linux 创建 RPM 包(一)
linux·嵌入式·arm·smarc
大聪明-PLUS5 天前
使用 GitLab CI/CD 为 Linux 构建 RPM 包(二)
linux·嵌入式·arm·smarc
酷飞飞7 天前
GD32F407VE天空星开发板的188数码管
stm32·单片机·嵌入式硬件·mcu·arm
大聪明-PLUS9 天前
用 C 语言实现 cat 实用程序
linux·嵌入式·arm·smarc
大聪明-PLUS9 天前
6 个 Docker 高级功能
linux·嵌入式·arm·smarc