Google Summer of Code 2011

From QEMU
Revision as of 23:57, 28 January 2011 by Jki (talk | contribs) (tracepoint project)

Introduction

As we did last year, QEMU is going to apply as a mentoring organization for Google Summer of Code 2011. This page contains our ideas list and some additional information for students and mentors.

Please note that QEMU, as a GSoC organization, also includes the following projects:

  • The Linux Kernel's KVM module
  • Libvirt, the virtualization library (pending OK from libvirt people)

Organization

Any Question, request or problem regarding QEMU on GSoC 2011, please contact one of the following people.

Find Us

GSoC important pages

Information for students

We require students to provide (at least) the following information in their applications:

  • Contact information (email, irc nick, phone number)
  • A general personal description (skills, past experiences and possible open source contributions)
  • Why QEMU and why this project
  • A detailed description of the approach the student will take

VERY IMPORTANT: Submitting a patch and having it merged by QEMU or KVM increases your chances of being accepted.

Projects Ideas

This is the listing of suggested project ideas. It might be useful to check last year's page. Also note that students are free to suggest their own projects.

QCOW2 <-> QED image converter

TODO: add description

  • Component: QEMU
  • Skill level: medium
  • Language: C
  • Mentor: Stefan Hajnoczi <stefanha@gmail.com>
  • Suggested by: Stefan Hajnoczi <stefanha@gmail.com>

Tracepoint support for the gdbstub

Recent gdb versions allow to define ad-hoc tracepoints that are able to record memory content or register states whenever the target code hits them. This is supposed to happen non-intrusively, while the target is executing (almost) as normal. QEMU could serve as a nice backend for gdb when it comes to using such dynamic tracepoints for (guest) kernel debugging. In contrast to approaches like kgtp running inside the guest kernel, QEMU is able to perform this in hypervisor context, at most requiring to insert breakpoints into guest visible memory.

In this project, the QEMU gdbstub shall be extended with support for tracepoints. Architecture specific parts shall at least support x86 guests. Tracepoints shall be usable both in emulation and KVM mode. Extending the KVM kernel services to accelerate tracepoints is not required in this first step. See gdb documentation and specifically the gdb remote protocol for further details.

  • Component: QEMU
  • Skill level: medium..high
  • Language: C
  • Mentor: Jan Kiszka <jan.kiszka@web.de>
  • Suggested by: Jan Kiszka <jan.kiszka@web.de>