qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] I want to emulate Android's goldfish on QEMU, but first: Ho


From: AKA
Subject: [Qemu-devel] I want to emulate Android's goldfish on QEMU, but first: How to familiarize with QEMU's source code and design?
Date: Sat, 2 Apr 2011 21:56:10 +0200

Hi guys.
I joined the QEMU developer list a few days ago and have to admit that this is my first 'official' and bigger open source project I want to participate. So please give me a bit time to acclimatise; and don't hesitate to give me feedback to speed up this process :-)

Preliminaries: What I want to do
My aim is to add Android support to QEMU, i.e. make Android run with a recent version of QEMU. For this I want to reuse parts of the Android emulator which utilizes a modified 0.10.5 QEMU.
I want to do this for my fresh master thesis which aims to automatically detect leakage of sensitive data in Android Apps. If you wonder how this fits together with QEMU, see more details here.

During my research I came along a wiki page where a similar idea was written. In fact it is a Google Summer of Code initiative, which would fit perfectly in my master thesis plan. You'll receive a project proposal the next days. I know there is little time left to discuss the idea (proposal deadline is in 6 days), but I just saw this yesterday and I thought it would be a win-win-situation.

Side effects of my hacking: Documentation
During my learning process I want to make a documentation which makes it easier for other people to get into QEMU source code. I want to do it in a separate wiki first and if it is usable we can move it to the official QEMU wiki.

Why I write here: I want to branch/patch but I don't understand the source code
I read the QEMU paper and some entries on blogs and mailing lists (also in the archive of this mailing list) and I think I got the high level mechanics of QEMU (guest code, dynamic binary translation with an intermediate step: the micro operations and from them to TCG targets, f.ex. X86 host instructions) and what it would take to add this specific machine which makes up Goldfish and enables the Android (linux) kernel to work.

Unfortunately I was a bit lost when I looked at the source code. I guess this is at least for two reasons:
Do you have any recommendations where I should start according to what I want to do? Before I start adapting goldfish-hardware to QEMU I want to understand at least important parts of the code (data structures, global variables, conventions).

What I have tried so far to understand the source code
I want to continue to get to the point where I can ask specific questions, but I was wondering if I am on the right way.

Thanks for your patience and your hints. Btw: hello :-)
Andy

reply via email to

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