Κυριακή 3 Απριλίου 2011

A collection of links with useful information about Qemu/kVM

I would like to share a collection of links that contain useful information about Qemu/KVM internals. They are useful for people interested in hacking on Qemu/KVM either to fix bugs or improve the existing functionality / academic projects, GSoC etc

The original USENIX 2005 Paper by Fabrice himself. Several of the principles described there have survived even to modern versions.

Stefan Hajnoczi's recent blog post about Qemu internals (talks about threading model) and this one ("big picture" overview). Also this for writing trace analysis scripts.


A presentation about Qemu Internals.

A presentation about KVM architecture in Linux Kongress 2010

A paper about qemu internals with a view on porting qemu to Plan 9.

A series of blog posts about qemu memory management.

A google group post about qemu internals and goldfish (android emulator)

First benchmarks on KVM.

A (master's) thesis about porting Qemu to minix v3

Another thesis about using LLVM as Qemu's dynamic code generator
(instead of current Qemu-specific TCG).

A (2008) USENIX paper on using qemu to automatically reverse engineer device
drivers

OLS 2010 paper on porting KVM to ARM.

Slides from a presentation at xensummit 2006 talk about device models

An interesting paper about dynamically translating from x86 back to LLVM
bytecode, using Qemu

Qemu Forks and Patches

A patch for Qemu to generate Simpoint Basic Block Vector (BBV) files

SerialICE: A system debugger in software as a modification of Qemu



Qemu in Security Work

A thesis on dynamic tainting analysis with Qemu. From this post about minos-type
integrity checking in qemu. Related is this project.

TTAnalyze, .a tool for analyzing malware, is built on top of Qemu

BitBlaze (TEMU, panorama) also uses Qemu pretty heavily


VirtIO

"An API for virtual I/O: virtio" lwn article.

A folder in Rusty Russell's website, including the virtio ACM SigOps paper,
the current spec etc.

A (relatively old but somewhat relevant) walkthrough on the virtio code.

IBM developerworks article on VirtIO.


Other device technologies

Virtual device interfaces specification from SPICE project.

SPICE presentation in KVM Forum 2010, includes info about QXL graphics.


General Virtualization issues

Slides from a university course talking about virtualization in general, Qemu (old) also
mentioned

A paper on "Subverting Linux on-the-fly using hardware virtualization technology" (information about VT hardware, e.g., VMXON/VMXOFF)


The above list is definitely not exhaustive, if you have links to interesting developer-oriented information about qemu I would be most happy if you would share it with me in the comments :)

Happy Hacking :)
Pantelis

1 σχόλιο: