* [Qemu-devel] how to understand proccessor codes in Qemu
@ 2016-08-23 12:57 Mahmoud Abd el-hameed
2016-09-15 9:17 ` Stefan Hajnoczi
2016-09-15 15:00 ` [Qemu-devel] [Qemu-arm] " Alex Bennée
0 siblings, 2 replies; 3+ messages in thread
From: Mahmoud Abd el-hameed @ 2016-08-23 12:57 UTC (permalink / raw)
To: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Hi all,
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?
Thanks,
Mahmoud
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] how to understand proccessor codes in Qemu
2016-08-23 12:57 [Qemu-devel] how to understand proccessor codes in Qemu Mahmoud Abd el-hameed
@ 2016-09-15 9:17 ` Stefan Hajnoczi
2016-09-15 15:00 ` [Qemu-devel] [Qemu-arm] " Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Stefan Hajnoczi @ 2016-09-15 9:17 UTC (permalink / raw)
To: Mahmoud Abd el-hameed; +Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org
[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]
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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [Qemu-arm] how to understand proccessor codes in Qemu
2016-08-23 12:57 [Qemu-devel] how to understand proccessor codes in Qemu Mahmoud Abd el-hameed
2016-09-15 9:17 ` Stefan Hajnoczi
@ 2016-09-15 15:00 ` Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Alex Bennée @ 2016-09-15 15:00 UTC (permalink / raw)
To: Mahmoud Abd el-hameed; +Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Mahmoud Abd el-hameed <mahmoudmahgoub92@hotmail.com> writes:
> Hi all,
>
> 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?
Are you looking for pointers on how the TCG DBT works or the general
device emulation?
>
>
>
> Thanks,
>
> Mahmoud
--
Alex Bennée
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-15 15:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-23 12:57 [Qemu-devel] how to understand proccessor codes in Qemu Mahmoud Abd el-hameed
2016-09-15 9:17 ` Stefan Hajnoczi
2016-09-15 15:00 ` [Qemu-devel] [Qemu-arm] " Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).