Stefan. Thanks for the good advice. I'm very glad to hear about that. I'll try and if I have any question, i'll post again. Thanks again. hope you Have a great day. -----Original Message----- From: "Stefan Hajnoczi"<stefa...@gmail.com> To: "한상훈"<hk42...@naver.com>; Cc: <qemu-devel@nongnu.org>; Sent: 2013-01-24 (목) 18:11:40 Subject: Re: [Qemu-devel] Where can I start?
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