Linaro Virtualization Team's Weekly Report - Weeks 13/14 2013 =============================================================
During the last 2 weeks (27 March - 10 April 2013) the team has been working on the following areas. More detailed information can be found on the meeting reports wiki page [0].
Ongoing work ------------
* BOOTLOADER HYP MODE SUPPORT FOR ARMv7 [1] by Andre Przywara
* rebase existing Versatile Express patches against upstream u-boot [2]
Done: - Reworked patch for Versatile Express to be more reusable for other boards. - U-Boot patch sent as RFC, waiting for reaction.
* implement HYP command to let u-boot switch into HYP mode [3]
Done: - HYP mode switch works reliably. - SMP is working too. - VExpress patches sent upstream (V3 of the patch set). - discovered a bug in Linux 3.9-rc: - DMA refactoring broke Versatile Express: NULL pointer exception. - Patches already are on ML, but not yet in HEAD (3.9rc5-77) - discovered related issue with DMA PL330 on Highbank (Rob@Calxeda seems to care about this)
* ARMv7 KVM GUEST MIGRATION [4] by Peter Maydell and Andre Przywara
* QEMU: audit the vexpress model for devices we use which do not currently have migration support [5] by Peter Maydell
Done: - task completed. - patches now preliminarily queued in arm-devs.next, though if there is a late-breaking issue with one of them it will have to be fixed and patches updated.
* QEMU: implement full cp15 sync with kernel [6] by Peter Maydell
Done: - Some work that was assumed to be already committed last year appeared to be still pending - hew sub-task created: QEMU: move CPU migration to vmstate [7]
Working on: - pending for [7] to complete.
* QEMU: move CPU migration to vmstate [7]
Done: - updated patches from Juan Quintela from last year which are updating the migration state for the CPU itself to use VMState structures.
Working on: - testing and tweaking of the updated patches.
* kernel: agree on a data structure to describe timer state [8] by Andre Przywara
Working on: - reading documentation. - thinking about code structure. - timer migration prototype.
* ARMv8 KVM QEMU prototype [9]
* Add skeleton ARM64 build patches to local tree [10]
Done: - completed this sub-task.
* Add arm64 mach-virt system model skeleton [11]
Working on: - only has serial, can add virtio stuff later. - in progress.
* Add creating FDT from scratch to mach-virt system model [12]
Working on: - in progress, nearly done.
* Add kvm guest creation and launching of armv8/mach-virt [13]
Working on: - in progress, just started.
* IN KERNEL SUPPORT FOR KVM ARMv8 [14] by Anup Patel and Pranavkumar Sawargaonkar, Geoff Levand
Done: - KVM ARMv8 patch set review, fixes suggested (by Geoff). - Initial patch set for APM board bring up is reviewed internally in APM and is queued for upstreaming in near future. - real AMRv8 hardware is accessible to Anup and Pranav - switched to it for further work. - ARMv8 kernel is bootable on the board now. - U-Boot is starting the kernel in HYP mode on the board now.
Working on: - Debugging the guest part now (on the board). Currently it is not booting (still in early debug). - Hacky early printk support in kvmtool is to be properly submitted to the ML as an RFC.
* CI BRING UP: KVM ARMv7 [15] by Riku Voipio
Done: - Find out howto include guest image in host image. - Create ci.linaro.org jobs for submitting validation tests to LAVA for VE TC2.
Working on: - Create ci.linaro.org jobs for submitting validation tests to LAVA for Arndale.
Links -----
[0] https://wiki.linaro.org/LEG/Engineering/Virtualization/TeamMeetingReports [1] http://cards.linaro.org/browse/CARD-361 [2] http://cards.linaro.org/browse/VIRT-70 [3] http://cards.linaro.org/browse/VIRT-71 [4] http://cards.linaro.org/browse/CARD-363 [5] http://cards.linaro.org/browse/VIRT-51 [6] http://cards.linaro.org/browse/VIRT-49 [7] http://cards.linaro.org/browse/VIRT-73 [8] http://cards.linaro.org/browse/VIRT-42 [9] http://cards.linaro.org/browse/CARD-221 [10] http://cards.linaro.org/browse/VIRT-52 [11] http://cards.linaro.org/browse/VIRT-53 [12] http://cards.linaro.org/browse/VIRT-54 [13] http://cards.linaro.org/browse/VIRT-56 [14] http://cards.linaro.org/browse/CARD-362 [15] http://cards.linaro.org/browse/CARD-233