All of lore.kernel.org
 help / color / mirror / Atom feed
* Getting started developing
@ 2021-07-03 15:28 Kenneth Adam Miller
  2021-07-03 16:43 ` BALATON Zoltan
  0 siblings, 1 reply; 2+ messages in thread
From: Kenneth Adam Miller @ 2021-07-03 15:28 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1020 bytes --]

Hello,

I just wanted to ask how I can get started developing other than just
starting building? QEMU is a huge project, and getting familiar with all of
the source and stuff is a lot of work. Probably, it wouldn't be helpful to
know the entire source, but just what I need.

I want to add a new system target for an architecture in which non-user
mode instructions might be used. In my case, I am reading the documentation
at qemu-project.gitlab.io/qemu/devel/*, and I find that some of it is good
for getting started because it tells about the roles of different build
targets. At the current time though, I feel like I'm so far at the
beginning that I don't know what question to ask to help myself best. Is
there any way to know in more detail how a system target would both share
and differ from one architecture to another? For example, the same devices
may be present from arm to x86, but this isn't true for how the processor
works. Also, is there any reference on the execution lineage or data
structures used?

[-- Attachment #2: Type: text/html, Size: 1163 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Getting started developing
  2021-07-03 15:28 Getting started developing Kenneth Adam Miller
@ 2021-07-03 16:43 ` BALATON Zoltan
  0 siblings, 0 replies; 2+ messages in thread
From: BALATON Zoltan @ 2021-07-03 16:43 UTC (permalink / raw)
  To: Kenneth Adam Miller; +Cc: qemu-devel

On Sat, 3 Jul 2021, Kenneth Adam Miller wrote:
> I just wanted to ask how I can get started developing other than just
> starting building? QEMU is a huge project, and getting familiar with all of
> the source and stuff is a lot of work. Probably, it wouldn't be helpful to
> know the entire source, but just what I need.

If you go to https://www.qemu.org/contribute/ there's a link to the wiki:

https://wiki.qemu.org/Documentation/GettingStartedDevelopers

where there are a few links to some docs. I've also gathered these links:

https://osdn.net/projects/qmiga/wiki/DeveloperTips

> I want to add a new system target for an architecture in which non-user
> mode instructions might be used. In my case, I am reading the documentation
> at qemu-project.gitlab.io/qemu/devel/*, and I find that some of it is good
> for getting started because it tells about the roles of different build
> targets. At the current time though, I feel like I'm so far at the
> beginning that I don't know what question to ask to help myself best. Is
> there any way to know in more detail how a system target would both share
> and differ from one architecture to another? For example, the same devices
> may be present from arm to x86, but this isn't true for how the processor
> works. Also, is there any reference on the execution lineage or data
> structures used?

Probably the easiest is to find a simple machine in QEMU that is similar 
to what you want and look at how that's implemented. At the beginning QOM 
boilerplate code might be confusing but it's just how QEMU defines objects 
in C so reading up on QOM and QDev might help to understand how to write 
and instantiate those objects then the code becomes more readable.

Hope this helps.

Regards,
BALATON Zoltan


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-03 16:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-03 15:28 Getting started developing Kenneth Adam Miller
2021-07-03 16:43 ` BALATON Zoltan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.