qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] how to understand proccessor codes in Qemu


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] how to understand proccessor codes in Qemu
Date: Thu, 15 Sep 2016 10:17:30 +0100
User-agent: Mutt/1.7.0 (2016-08-17)

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

Attachment: signature.asc
Description: PGP signature


reply via email to

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