On Tue, Aug 23, 2016 at 12:57:09PM +0000, Mahmoud Abd el-hameed wrote: > I am a new developer at Qemu and i want to understand how the processors code > works. I am get lost through google and didn't know where i can begin to > understand the code. > > my aim is to understand how can we model the proccessors using qemu?
One way to teach yourself is to look at commits that add a new processor architecture to QEMU. For example, the tilegx architecture was added in 2015 and is reasonably small. I don't know if it's the best example of how code should be written but it's a starting point. git log -p 2cb154bc19854232b5379236dd9dfc06d83ced1e..461aa6783eec27f209b026c6647fc7a83b2997cd Keep in mind that QEMU has two main emulation modes: system emulation and user emulation. System emulation does full CPU (including privileged modes, MMU, etc) and hardware emulation so you can boot a guest operating system inside a virtual machine. User emulation just does the userspace ABI so you can directly run binaries like /bin/ls that were compiled for another architecture - it doesn't run a full virtual machine. The tilegx architecture I mentioned above only implement Linux user emulation. It does not implement system emulation. Start by learning how tilegx was added and then explore other things like system emulation support (if necessary). Stefan
Description: PGP signature