qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Where can I start?


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Where can I start?
Date: Thu, 24 Jan 2013 10:11:40 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Jan 24, 2013 at 05:27:00PM +0900, 한상훈 wrote:
> I want to analyze, Qemu Source Code, but It's too big and complex to start by 
> myself.
> Now, i'm trying to understand Make process and analyze 'Makefile'.
>  
> So, I'm writing this mail to get some advice as a new guy in Qemu-devel. 
> I'm looking for the information about Whole QEMU architecture or process 
> logic or build tree, kind of something. 
>  
> Please, help and let me get some useful information about Qemu source code. 
> I want to understand the whole qemu logic.

There is no up-to-date official documentation that will teach you the
QEMU source code.

Start in vl.c:main() and read the code.  See how vcpus are set up and
follow the main loop.

Focus on the aspects that interest you, for example TCG ARM emulation or
kvm on x86_64.  Don't try to follow all code paths at once, just focus
on one configuration.

If you want to understand the Makefile, build with the verbose option so
you can see each command-line:
$ make V=1

Here is a high-level overview of QEMU's architecture:
http://blog.vmsplice.net/2011/03/qemu-internals-big-picture-overview.html
http://blog.vmsplice.net/2011/03/qemu-internals-overall-architecture-and.html

Jan's KVM architecture talk is excellent:
http://www.linux-kongress.org/2010/slides/KVM-Architecture-LK2010.pdf

The best way to get started is by fixing a bug or adding a new feature.
It will give you a real problem to work on and you can learn the
codebase gradually.  The catch is that you need to decide what to work
on yourself, maybe start with the QEMU bug tracker:
https://bugs.launchpad.net/qemu.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]