ARM架构虚拟化原理

前言

ARM架构虚拟化扩展(Virtualization Extension)是在2010年作为ARMv7架构的一部分引入的,它为虚拟化提供了架构支持。在此之前,ARM系统上的虚拟化解决方案都是基于半虚拟化(paravirtualization)的,并没有被广泛使用。不过随着ARM CPU的性能不断提高,并从智能手机和平板电脑等移动设备向传统服务器进军,人们对ARM虚拟化的兴趣也在增长,因为对ARM来说,支持虚拟化对它的生态建设起到很重要的作用。于是,ARM虚拟化扩展就出现了,它的核心设计目标是构建ARM hypervisor,且它可以运行未经修改的Guest OS,而不增加显著的硬件复杂性,同时保持高水平的性能,而且也符合Popek和Goldberg的定理要求,关于这个定理,大家可以看下《一文读懂虚拟化原理》文章。

CPU虚拟化

虚拟化扩展侧重于在虚拟化上下文中支持现有的ISA,因此ARM没打算改变ISA单个指令语义,而不单独处理架构中限制虚拟化的指令。相反,虚拟化扩展引入了一种新的更高特权处理器执行的模式,这个模式在ARMv7架构首次引入时称为HYP(hypervisor)模式,在ARMv8架构以及之后称为EL2。

ARM架构上的CPU模式如图1所示,包括TrustZone(安全扩展)。TrustZone将模式分为安全和非安全两个世界,这两个世界与CPU模式是正交的。而且在EL3也提供了一种特殊模式:Monitor mode(监控器模式),用于在安全和非安全世界之间切换。如果实现了TrustZone,尽管ARM CPU在安全模式下启动,但ARM的引导加载程序(bootloaders)通常在早期阶段过渡到非安全世界。安全世界用于可信计算场景,如数字版权管理。不过需要注意的是,最新的ARM架构已经支持secure状态下的EL2 Hypervisor了。

图1 ARM处理器模式

不像以前的ARM架构支持多种kernel模式,ARMv8只有一个ke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷公子的藏经阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值