名词订正:每一个区域叫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是如何处理的设备树的


徐仲锴:
代码需要运行一下,所有练习都要做一下
任务:上板子