GSoC/GCI Archive
Google Summer of Code 2011

Xen.org

Web Page: http://wiki.xen.org/xenwiki/GSoC_2011_ideas

Mailing List: http://lists.xensource.com/

Xen.org is an open source community, whose projects are focused on building, evolving and supporting virtualization technology based on the Xen hypervisor. Examples of projects are the Xen hypervisor, the Xen Cloud Platform (XCP) and the Xen Client Initiative (XCI). The Xen community is a diverse and global community made up of developers, commercial vendors, research organisations, IT professionals and users. The Xen.org community also works closely with upstream open source projects (e.g. the Linux kernel, QEMU) and downstream projects (e.g. Openstack and OpenNebula).

Projects

  • Add Xen PV block device support to SeaBIOS Currently Xen is using for HVM Virtual machines a version of BIOS called rombios, ROMBIOS is functional but maintenance is difficult, it is a mixture of C and inline assembly. Xen wants to migrate to SeaBIOS, which happens to also be the qemu upstream and KVM BIOS of choice, that means that the source code is more maintainable. Then a modification to int0x13 will be done to use the PV Drivers via XenStore instead of the emulated device used in qemu.
  • Linux Based Stubdoms Stubdoms are very small Xen PV guests used to run some software components that otherwise live in dom0. This project will implement a linux based stubdom, which provides device emulation to a particular HVM guest. Because we are using PV linux kernel and upstream qemu to build the system, there are many new problems to be addressed, such as: establishing the environment of linux based stubdom with minimal linux kernel and shared libraries which can contain the qemu process exactly, adapting simulation devices to their relevant frontend devices in an optimal way, addressing the save/restore problem, adding pci pass-through support, etc.
  • Paravirtualized audio The project would be to implement paravirtualized audio in Xen, in some form. Two approaches are proposed: a high-level approach over PulseAudio and a low-level split device driver, similar to the existing.
  • Porting Unix libc to Xen PV Replacing the newlib and porting an already existing POSIX compliant libc to Xen PV platform. This implementation to allow at least few already existing applications like qemu-dm to be ported. And porting Xenstored to this new platform.
  • Porting VirtIO to Xen VirtIO is a generic paravirtualized mainly used in KVM now. But it should not be too hard to port VirtIO to Xen. When done, Xen will have access to Linux kernel's VirtIO interfaces and developers will have an alternative way to deliver PV drivers besides from the original ring buffer flavor. This project requires: Modify upstream QEMU, replace KVM-specified interface with generic QEMU function; Modify Xen / Xentools to support VirtIO; Modify Linux kernel's VirtIO interfaces.
  • Recovery of crashed Linux Goal of this project is initial working implementation of kexec/kdump for Linux pvops kernel.