TrustZone之与非安全虚拟化交互

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

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

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

相关推荐
techdashen2 天前
从软件到硅片:Uber、OCI 与 Ampere 如何联合优化 AmpereOne M A4 计算实例
arm
toradexsh4 天前
基于 NXP i.MX8M Plus 测试 Zephyr RTOS
arm·rtos·nxp·imx8mp·zephyr
Quincy_Freak4 天前
银河麒麟 SQLite 实操:Excel 导入与 SQL 语法编辑功能详解摘要
数据库·arm·数据库管理·大数据分析·银河麒麟·aarch64·sqlitego
Quincy_Freak6 天前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
凉、介6 天前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
奔跑的架构师7 天前
[A-48]ARMv9/v8-电源状态管理机制(PSCI协调机制)
android·linux·arm开发·arm
凉、介7 天前
KVM + QEMU 虚拟化
笔记·学习·嵌入式·arm·qemu·虚拟化·kvm
secondyoung8 天前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm
阿米亚波25 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
暮云星影1 个月前
个人总结 docker搭建私人照片云相册Immich
docker·容器·arm