《齐呈祥-hypocaust分享_20230328_114010.pdf》由会员分享,可在线阅读,更多相关《齐呈祥-hypocaust分享_20230328_114010.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、Hypocaust,a RISC-V Type-1 Hypervisor天津大学 齐呈祥Overview RISC-V H Extension Overview Hypocaust/Hypocaust-2 Overview Hypocaust-2 Design&Implement Status&Future Work QuestionsRISC-V H ExtensionThe RISC-V Hypervisor ExtensionClassical RISC-V Privilege 32 个通用寄存器 3 种特权级模式:Machine(M mode),Supervisor(S mode),U
2、ser(U mode)每种特权级模式下都有控制状态寄存器(CSRs)XLen(machine word length)可能是 32 bit,64 bit 或 128 bitRISC-V CPU VirtualizationHS-mode:S mode with hypervisor capabilities and new CSRsVS-mode:Virtualized S-mode,用于代替传统 S-modeVU-mode:Virtualized U-mode,用于代替原有的 U-mode模式切换:ecall:由 VS-mode 进入 HS-modesret:由 HS-mode 进入 VS-
3、modeRISC-V HS-mode CSRs HS-mode:“s”指向真正的“s”“hs”用来提供虚拟化功能“vs”用来指向 VS-mode 中的虚拟“s”寄存器 VS-mode:“s”指向“vs”RISC-V Memory Virtualizationvsatp:Virtual Supervisor Address Translation and Protection Registerhgatp:Hypervisor Guest Address Translation and Protection Register两阶段翻译:GVA-GPA(vsatp)-HPA(hgatp)RISC-V
4、 Interrupt VirtualizationPLIC:不支持 MSI 不支持中断投递 需要在 hypervisor 模拟 PLIC 并进行中断注入AIA(Advanced Interrupt Architecture):IMSIC(Incoming Message Signaled Comtroller):支持 MSI(消息信号中断),支持 IPI Virtualization VS-mode下运行的客户操作系统对设备中断(作为 MSI)的直接控制,减少了虚拟机监视器(hypervisor)的干预 APLIC:可以更高效地处理中断RISC-V Device Virtualization设
5、备模拟:纯软件模拟,甚至可以模拟不存在的设备 平台稳定,不需要特殊的硬件支持 性能低设备直通:VM 独占 Guest 性能高,实现简单 需要大量设备(假设有 100 个 VM)解决方案:恒等映射:无需实现 IOMMU,可以通过配置内存来实现 DMA 分配 需要单独为每个平台配置内存 IOMMU:RISC-V IOMMU 草案,安全性高,可移植性好,实现较为复杂Hypocaust/Hypocaust-2 OverviewHypocaust/Hypocaust-2 OverviewHypocaust:S-mode 陷入&模拟S-mode Shadow CSRs 模拟Shadow Page Tabl
6、e中断/异常注入设备透传.Hypocaust-2:基于设备树配置RISC-V H 扩展辅助虚拟化两阶段页表翻译异常代理中断注入(PLIC 模拟)设备透传.Hypocaust第一版使用 Rust 编写的 Type-1 RISC-V hypervisor,使用 S mode trap&emulate 技术优点:可以在任何 RISC-V 平台运行,无需支持 H extension缺点:需要单独维护 vCPU CSR 的 Shadow State维护 Shadow Page Table 和 Guest Page Table 的同步关系较为复杂每次读写 CSRs/