GSoC/GCI Archive
Google Summer of Code 2014

QEMU

License: GNU General Public License version 2.0 (GPLv2)

Web Page: http://qemu-project.org/Google_Summer_of_Code_2014

Mailing List: https://lists.gnu.org/mailman/listinfo/qemu-devel

The QEMU Project includes the QEMU open source machine emulator and virtualizer and also acts as an umbrella organization for libvirt and the KVM Linux kernel module. When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance. When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, ARM, server and embedded PowerPC, and S390 guests.

Projects

  • Applying for the idea rewrite virtual box's driver This is my proposal for the project idea "rewrite virtual box's driver". It contains my basic information, my understanding of the project idea and my plan to resolve it.
  • Code improvement for libvirt-snmp Automate the syntax-check process for adding a new field on a table in the MIB file.
  • Continuous vmstate testing and dirty bitmap logging QEMU's vmstates (device states) play an important role in setting up the virtual infrastructure for a virtual machine. Currently, there does not exist any functionality to find errors or missing substates of a device state. Thus, the goal of this project is to implement a randomized save/reset/load device state test. This will help the community in resolving bugs related to the vmstate when they either add a new vmstate / sub vmstate or add new properties to the existing vmstates.
  • Device driver framework for low-level testing QEMU is introducing the testing of emulated hardware devices in its code base. In this project, the testing interface for I2C protocol for both i440fx and q35 machines will be developed. Also, a virtio testing interface will be built, with a specific driver for virtio-pci.
  • Intel IOMMU (VT-d) Emulation I’m a master candidate of Peking University in China. My research area is distributed systems and virtualization. I’m now working on QEMU and KVM. I’m very interested in QEMU and want to apply to QEMU. I am looking forward to studying QEMU as well as doing something for open source under the guidance of the mentor in practice.
  • TianoCore support for Apple's boot.efi Summary: Make TianoCore / OVMF support boot.efi for an out-of-the-box boot experience of Mac OS X The only way today to boot Mac OS X inside of QEMU / KVM is to go through a hacked up version of Apple's legacy BIOS boot loader. The goal of this project is to first add HFS+ support to TianoCore. Once that is implemented there are more features that may need to be added to TianoCore to make OSX a first class citizen to QEMU / KVM.