On Tue, 6 Apr 2010 17:02:16 +0530 ashish gupta <ashish12.it...@gmail.com> wrote:
> Hi all, We talked by IRC, but will duplicate some info here. > I am a undergraduate (final year) student of Computer Science and > Engineering in Institute of Technology, Banaras Hindu University, > India. I am very much interested in two projects. > (1) Improve/Simplify the QObject API This API is composed by all the header files in the qemu-objects.h file, the correspondent .c files will have the same name of the headers. Monitor handlers are the main consumers of that API, two examples are bdrv_info() and do_pci_info(). But there are a lot more, you can grep or use tools (like cscope) to find more examples. Also, it's important to say that apart from some functions descriptions, this is API is undocumented. The two main objectives of this project are: 1. Simplify the API, if you look at do_pci_info(), for example, you'll see that things get complicated easily. However, it's not at all clear how we should do that. This is what makes this project a bit difficult (not to mention the missing docs). But, in this thread: http://lists.gnu.org/archive/html/qemu-devel/2009-12/msg02537.html There are some ideas, maybe adding properties to structs or adding more helper functions can help. We can also start a new thread about that to collect ideas. 2. Add more debug options, mainly ways to detect refcount problems, today our checks are too simple. > (2) Convert Monitor commands to the QObject API This is what I have been saying to students about that project: 1. To have an idea what the project is about, take a look at the following git commits from the QEMU master branch: 588b383 d96fd29 and also look at do_pci_info() for a more complex conversion. Where to find our tree, how to clone it and how to use git to see the logs can be viewed as an exercise if you're new to this stuff. 2. I will strongly consider applications that mention all the unconverted handlers and what data types might be a good choice for them (very high-level though) 3. Having a patch submitted and accepted in QEMU highly increases your chances of being accepted > I have downloaded the source tarball qemu-0.12.3.tar.gz and i have > builded it and installed it. > Can someone pls tell me where to look in the source code to know more > about QObject API so that i can start getting familiarize with it? > >