On 02/03/2017 09:24 AM, Stefan Hajnoczi wrote: > On Fri, Feb 03, 2017 at 02:28:49AM +0530, Shubham Kumar wrote: >> I'm having difficulty in understanding the codebase of QEMU .There seem to >> have hundreds of code files and header files in the directory and I'm unable >> to figure out the functionality of each file.Is there any way to understand >> the function of each file ?? > > vl.c is the main() function for the qemu-system-* family of programs > (the "system emulators"). You could start exploring the source code > from there. That's what I did when I first started hacking on QEMU. > > Be prepared to read code. QEMU isn't an educational codebase and the > code reflects the requirements of many contributors over the years. > Most of their requirements may not be relevant to you. You will learn > to skip the stuff that doesn't affect you and to see the big picture.
In fact, I seriously doubt ANYONE knows the entire code base. Rather, various people are experts in a subset of the code base; the MAINTAINERS file is a good mapping of where to direct questions about a particular file. It's also a good jumping off point if you see a category that interests you for knowing what files to inspect related to that category. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature