← 返回路线图
目标
在写任何代码之前,把论文的技术路线钉死:虚拟化方式、运行平台、工作范围。这半周的产出决定后面所有阶段不返工。
工作内容
- 弄清三种虚拟化的学术定义:全虚拟化(未修改 guest + 完整设备假象)、半虚拟化(guest 主动发 hypercall)、混合虚拟化(本项目:CPU 硬件辅助 + I/O 半虚拟化)
- 论证为什么 R52 做不了透明的全虚拟化:MPU 不做地址转换(VA≈PA),guest 不可重定位;设备仿真在硬实时下代价过高
- 定平台路线:阶段 2–3 用 QEMU mps3-an536 快速迭代,阶段 4 起切 Stellar 板 + TRACE32
- 划范围边界:单集群双 VM 为主线,多核/多集群列为可选,不追 SDK 的 12 VM 全场景
关键概念
- 全虚拟化 vs 半虚拟化 vs 混合虚拟化——论文用词必须准确,不能把本项目称为"全虚拟化"
- PMSA(MPU,只查权限)vs VMSA(MMU,页表转换)
- guest 不可重定位:链接期绑定物理区域,是整个设计中唯一"不透明"的点
阅读材料
- AArch64 Virtualization guide(102142) —— Learn the Architecture 系列:trap-and-emulate、stage-2 转换、EL2、HCR、设备/中断虚拟化最平易的入门讲解
- 注意:这是 A-profile / AArch64 资料,只取虚拟化概念;寄存器与 MPU 细节以阶段 1 的 R-profile 手册为准
完成标准
能讲清为什么 R52 上选半虚拟化,而非全虚拟化。
进度记录
- 2026-07-07 —— 梳理 Arm 官方文档(AArch64 Virtualization guide,102142)对 hypervisor 的介绍