各位老师和同学好: hypervisor组例会时间定为本周三2:00-5:00。
会议地点:北京市海淀区草桥7号院北京开源芯片研究院,415雁栖湖会议室
会议议程: 名词订正:每一个区域叫zone, 每一个在区域中的活动的实体叫tenant 可以做的东西: - 需要做调度器,做成插件的形式,可以打开,可以关闭(全功能的调度器现在似乎还不是必须) - 板子上跑hvisor,现在还没有在一个实体的板子上面跑过 - 操作系统的snapshot, reboot - 操作系统重启,操作系统(热)升级,镜像升级 - hvisor升级 - 热迁移 - 仔细研究一下设备树是怎么探测,怎么使用的 -hypervisor对内存碎片的管理
韩喻泷: 已经完成了一个shell,继续龙芯,目标启动一个linux
陈林锟: 合并代码 1. 负责合并代码 arch dev/virt 参考bao/jailhouse/xvisor/acrn/kvm tools/ko docs/ ko 2. 先启动两个Linux,调网络,调RCU blk设备还是有问题,可能跟gic有关系
李柯樾: 加入aia就行了 改造一下,先启动第一个linux,让后手动启动第二个 写文档,写论文 灵活性的
杨竣轶: 上riscv板子,FPGA 协助陈星宇修改文档,交给李国玮复现 更新hvisor的功能 调度器,杀掉os,起新的os 命令行工具
snapshot
陈星宇: 重新修改文档,交给李国玮复现 1. 文档要写一下,陈星宇,李国玮,韩喻泷复现 2. 文档里面把DTB怎么修改的,和源代码的关系写清楚 驱动smmu,先在qemu上面跑过,然后在硬件上跑过 在qemu里面有没有dma的虚拟设备
李国玮: 毕业设计的目标可以不在板子上跑 加入虚拟网络的时候会出现错误,无法启动。 virtio mmio bus,看一下咋回事,写一个文档 调一下为啥收不到网络包 尽量去上板 暑假 - 上arm板子 命令行工具
李韶航: 继续看这部分代码Rust for APLIC, AIA 关键是搞清楚设备是怎么触发中断的 硬件过程,软件过程都是什么样的 功能描述和实验过程 改成64位,何李柯樾讨论做的具体内容
徐仲锴: riscv的虚拟地址部分 代码需要运行一下,所有练习都要做一下 任务:上板子
刘景宇: 1. 完善bao里面的AIA 2. 对比对象:bao-arm/bao-PLIC/bao-AIA 3. 测试spec/以及一个关于虚拟化的测试集 看一次MSI的东西 opensbi是如何处理的设备树的
请大家关注。
名词订正:每一个区域叫zone, 每一个在区域中的活动的实体叫tenant 可以做的东西: - 需要做调度器,做成插件的形式,可以打开,可以关闭(全功能的调度器现在似乎还不是必须,这部分张羽老师说需要) - 板子上跑hvisor,现在还没有在一个实体的板子上面跑过 - 操作系统的snapshot, reboot - 操作系统重启,操作系统(热)升级,镜像升级 - hvisor升级 - 热迁移 - 仔细研究一下设备树是怎么探测,怎么使用的 - hypervisor对内存碎片的管理 - snapshot (是否需要?)
韩喻泷: 现在正在qemu上面调试linux内核。下一步需要做的工作是通过hypervisor将linux启动出来两个。这一步需要把linux按照device tree的方法启动起来,而不是按照acpi的方式启动起来。 -> 我觉得还有一个要做的事情是在硬件启动的时候通过acpi把信息搜集上来,形成一个device tree的文件。之后如何使用这个acpi文件,是通过device tree给guest kernel呢还是通过虚拟acpi(pci root complex)发给guest kernel这个是后话。
陈林锟: 合并代码的工作。 四周以内合并代码。现在合并代码有些问题,主要是riscv部分的代码的问题。这个需要等到李柯樾写完论文(两周)之后调一下。 合并完成的代码需要完成下面的功能:(1)动态启动tenant,杀死tenant,再启动起来;(2)riscv, arm都可以支持,最好韩喻泷的龙芯也能支持,代码库由于NDA的关系不能合并在一出去开源;(3)一个在root tenant里面的操作命令行界面。 下一步:现在都是在qemu里面做的,下一步需要上到NXP板子上。 文档结构。
李柯樾: 现在在自己的代码库上,除了AIA剩下的都通了。 下一步需要先写论文。由于没有硬件平台,在性能测试上主要需要做的事情是在qemu内部做的。需要对比bao, 裸机,以及hvisor。 两周之后调试统一代码库的riscvd的不分。
写文档,写论文
李国玮: 网络已经走通了(写一个文档,说明为啥走不同,通过什么调整能走通。) 为了毕业设计,先在NXP上跑type II的hypervisor。 同时也实现管理工具。(就是那个hvisor.ko以及管理工具)
陈星宇: 继续上周的工作,调bug。 重新修改文档,交给李国玮复现 1. 文档要写一下,陈星宇,李国玮,韩喻泷复现 2. 文档里面把DTB怎么修改的,和源代码的关系写清楚 驱动smmu,先在qemu上面跑过,然后在硬件上跑过 在qemu里面有没有dma的虚拟设备
杨竣轶: 预计本周拿到fpga,思考要做哪些代码改动,目标是研究怎么在上面启动hvisor。
李韶航: 继续跑一下例子代码。一定要理解例子代码。现需要完成这样的功能: - 通过代理在vs态处理中断 - 通过硬件出发中断(在qemu里面如何出发vs态的中断?),实际上如果能发出s态中断,发出vs态中断也是一样的。这个就需要在qemu里面看看是怎么做的了。
继续看这部分代码Rust for APLIC, AIA 关键是搞清楚设备是怎么触发中断的 硬件过程,软件过程都是什么样的 功能描述和实验过程 改成64位,和李柯樾讨论做的具体内容
刘景宇: 跑起来带imsic的demo。qemu中vs中断文件的数目。bao的H扩展的支持。 1. 完善bao里面的AIA 2. 对比对象:bao-arm/bao-PLIC/bao-AIA 3. 测试spec/以及一个关于虚拟化的测试集 看一次MSI的东西 opensbi是如何处理的设备树的
徐仲锴: 代码需要运行一下,所有练习都要做一下 任务:上板子