当前位置:首页 > 报告详情

齐呈祥-hypocaust分享_20230328_114010.pdf

上传人: 2*** 编号:129191 2023-05-01 22页 1,021.81KB

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/

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文介绍了由天津大学齐呈祥(邮箱:kuangjux@outlook.com)研发的基于RISC-V H Extension的Type-1 Hypervisor——Hypocaust及其第二代版本Hypocaust-2。Hypocaust是一个使用Rust编写的Type-1 RISC-V hypervisor,采用S mode trap&emulate技术,优点是可在任何RISC-V平台运行,但缺点是需要维护Shadow State,且性能较低。Hypocaust-2则采用RISC-V H Extension的硬件辅助虚拟化技术,无需维护Shadow Page Table,性能更强,但只能在支持H Extension的平台上使用。Hypocaust-2的设计包括基于设备树的配置、两阶段页表翻译、异常代理、中断注入和设备透传等。目前,Hypocaust-2已在QEMU 7.0.0及以上版本中启动,能够运行rCore-Tutorual-v3、RT-Thread和Linux mainline。未来的工作包括扩展为多核、多guest,实现IOMMU/AIA,等待支持RISC-V H extension的芯片并移植,以及将Hypocaust-2做成Linux Kernel Module。
"Hypocaust-2的设备虚拟化如何实现?" "RISC-V H Extension如何改善CPU虚拟化?" "Hypocaust-2能否在非H extension平台上运行?"
客服
商务合作
小程序
服务号
折叠