PVH domains are a new guest type supported by Xen being as lightweight as possible (e.g. no emulation of legacy devices via qemu) while taking advantage of the hardware virtualization features of the x86 processor.
As there is no BIOS for a PVH domain booting is a little bit different than for pure hardware virtualized guests. To be able to start such a guest a little shim is needed to gather some information about the environment (especially memory layout) before the standard kernel boot path can be entered. By using a boot loader like grub2 this shim can be avoided as the memory information is already known by grub2 and stored into the so called zeropage according to the multiboot protocol.
In order to be able to use grub2 there needs some work to be done, e.g. grub2 has to be enabled to be booted in PVH environment.
In this hackweek project I'm going to add that feature to grub2 by defining a new platform in grub2 ("i386-xenpvh") by starting with the "i386-pc" platform. There will be a new early boot code in grub2 and the already present Xen interfaces (used for grub2 support of Xen PV environment) have to be adapted to the new platform. The code to activate the new kernel can just be taken as is.
This project is one of its kind!
Be the first to comment!