Emulate Memory-mapped I/O (MMIO) [七]

同物理机器上的物理地址空间一样,虚拟机的 IPA 地址空间也包含了用于访问内存和外围设备的区域,如下图所示:

Hypervior 可以通过将 IPA 与实际物理外设地址映射,从而使虚拟机可以直接通过二阶段的地址映射来访问物理设备,比如我们之前实现的虚拟机上的 PL011 支持,就是直接将 IPA 映射到物理地址上,实现设备直通。

但是在一些场景下,比如我么后面要提到的中断虚拟化支持中,如果虚拟机通过 GICD_*或者 GICR_*寄存器配置中断控制器时,这时候就不能让虚拟机直接访问硬件设备了,而是需要通过一些手段让 Hypervisor 能够截获虚拟机访问这些设备时的操作,这样我们就可以在 Hypervisor 中做一些软件模拟了,同时 MMIO 也是实现之后要讲的半虚拟化 VIRTIO 的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小虾米的Daddy

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值