ARM has introduced hardware virtualization extensions to the Cortex-A15 and Cortex-A7 cores. This talk will briefly introduce the ARM Virtualization Extensions and then cover the core ARM kernel work related to KVM/ARM, including modifying the boot process for Linux into the new Hyp processor mode. The talk will cover challenging implementation aspects specific to the ARM port, such as in-kernel MMIO-instruction decoding, Thumb-2 support, CP15 (control register) emulation and support, second-stage page table management, identity mappings, and support for both ARM and Thumb-2 instruction sets. Further, the talk will cover the ARM (VGIC) and Generic Timers virtualization support.
The talk is highly technical and intended for Kernel and KVM developers. The audience do not require prior knowledge of the ARM architecture and we plan to show a live demo of the system.