TrustZone之与非安全虚拟化交互

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

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

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

相关推荐
2035去旅行2 天前
U-Boot简介
嵌入式·arm·soc
zbyyd5 天前
Linux驱动:UART串口通信、GT9147触摸屏与IIO-ADC驱动开发
linux·驱动开发·arm
zbyyd5 天前
Linux驱动:SPI子系统与ADXL345三轴加速度传感器驱动开发
linux·驱动开发·arm
2035去旅行5 天前
SOC 里的 CPU 处理器 和 L1/L2 Cache
嵌入式·arm·soc
一直C6 天前
嵌入式 Linux 驱动开发学习笔记:设备树、pinctrl 与 GPIO 驱动开发
驱动开发·嵌入式·arm·dt
2035去旅行6 天前
两核 CPU:CPU1 和 CPU2 是如何协同工作的?
嵌入式·arm·soc
奔跑的架构师7 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
susplus8 天前
【Linux驱动开发】中断、工作队列及中断子系统详解
arm·中断·linux驱动开发·中断子系统
chu_bingzhi8 天前
ARMv8体系结构
arm
一直C11 天前
嵌入式 Linux 驱动开发学习笔记(三)设备树、GPIO子系统、中断与外设驱动实战
驱动开发·单片机·嵌入式硬件·嵌入式·arm·imx6ull