ARM的虚拟化原理

1、基本模型

Hypervisor运行在一个新的非安全模式,称为Hyp模式,Hypervisor负责客户操作系统的切换

客户操作系统运行在非安全特权和非特权模式。

 

用于安全扩展的软件不需要任何改变,因为Hypervisor本身没有用到安全模式的任何状态。

2、虚拟化的扩展如下

非安全状态下的Hyp模式

中断处理

内存管理

load和store的模拟来提供虚拟外设的处理

一些trap用来处理Hypervisor相关的特殊情况。

 

Hyp模式,是一种在非安全状态下最高的一种模式,能够控制比其他模式更多的功能。为了更好的对arm的虚拟化

进行描述,我们采用如下术语:

内核模式,是指六种模式的集合,Supervisor, System , Abort, FIQ和IRQ,Undef

特权模式,是指七种模式的集合,Supervisor, System , Abort, FIQ和IRQ,Undef,以及Monitor

非特权模式,是指一种模式的集合,即 User

Hyp模式在CPSR和SPSR中的模式编码中为11010

 

与其他的模式相同,Hyp需要有自己的SP和SPSR来保存自己的栈指针和状态,但是对于bank LR寄存器,会有一定的问题。理论上

我们应该允许Hypervisor在任何时刻都可以接收中断。但是当hypervisor模式下,hypervisor自己的LR保存着过程返回直的时候,

这时候如果有中断和异常发生,则会导致LR的数据被中断或者异常的返回地址覆盖。

 3、指令的扩展

一个新的指令ERET

ERET的功能在于在 Hyp模式下执行的时候,Spsr_hyp的内容赋给CPSR而ELR_Hyp的值赋给PC

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值