From: Paul Brook <paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
To: qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org
Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
Markus Armbruster
<armbru-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [Qemu-devel] [RFC] Machine description as data
Date: Fri, 13 Feb 2009 13:33:46 +0000 [thread overview]
Message-ID: <200902131333.47141.paul@codesourcery.com> (raw)
In-Reply-To: <87ocx6pkol.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
> Hypothetical example: say the kernel needs to know exactly how the
> interrupts are wired. But QEMU can wire the interrupts just one way,
> the way it has always wired them. What's the point in putting that way
> into the machine configuration? Verifying that whatever is there
> matches reality is no less work than generating the information from
> scratch, isn't it?
Much of the reason for having a machine config is that it allows control over
things like interrupt routing. Particularly for embedded machines, it's
common to have a variety of different machines all using the same components,
but varying in how those components are connected. For example the ARM
Integrator, Versatile, Realview and Luminary Stellaris boards are all based
on approximately the same basic set of devices (the ARM PrimeCell SoC
peripherals), just with different memory maps and interrupt topologies. I
suspect the same is true for many of the PPC, SH4 and ColdFire boards, and
probably the different SPARC sun4m/sun4u variants.
Most of the intrastructure to do modular machine construction is already there
in qemu, it's just currently driven by hardcoded C QEMUMachineInitFunc rather
than a runtime config.
I guess that's where I see the distinction. Roughly speaking the "machine
config" replaces pc.c:pc_init1, and the "user config" replaces a lot of the
goo in vl.c:main, drive_init, etc.
Paul
next prev parent reply other threads:[~2009-02-13 13:33 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87iqnh6kyv.fsf@pike.pond.sub.org>
[not found] ` <87iqnh6kyv.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-11 18:50 ` [Qemu-devel] [RFC] Machine description as data Hollis Blanchard
2009-02-11 19:34 ` Blue Swirl
[not found] ` <1234378228.28751.79.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12 4:01 ` [Qemu-devel] " David Gibson
2009-02-12 10:26 ` Markus Armbruster
2009-02-12 12:49 ` Carl-Daniel Hailfinger
2009-02-12 16:46 ` M. Warner Losh
2009-02-12 18:29 ` Markus Armbruster
2009-02-12 23:58 ` Carl-Daniel Hailfinger
[not found] ` <4994B7B6.80805-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 11:19 ` [Qemu-devel] " Markus Armbruster
[not found] ` <87prhnwltz.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 1:05 ` David Gibson
2009-02-12 23:35 ` Carl-Daniel Hailfinger
2009-02-12 23:58 ` Paul Brook
[not found] ` <200902122358.25864.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 0:32 ` [Qemu-devel] " Carl-Daniel Hailfinger
2009-02-13 0:47 ` Jamie Lokier
[not found] ` <4994BF93.2070409-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 1:46 ` [Qemu-devel] " David Gibson
2009-02-13 14:32 ` Lennart Sorensen
[not found] ` <4994B22E.6060608-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 0:05 ` [Qemu-devel] " M. Warner Losh
[not found] ` <87iqng0x3t.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-12 17:52 ` Hollis Blanchard
[not found] ` <1234461162.20305.16.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12 18:53 ` Markus Armbruster
[not found] ` <87fxijwkpn.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-12 19:33 ` Mitch Bradley
[not found] ` <499479A7.5090902-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-02-13 0:59 ` David Gibson
2009-02-13 1:00 ` David Gibson
2009-02-13 0:43 ` David Gibson
[not found] ` <20090213004305.GB8104-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 2:11 ` Carl-Daniel Hailfinger
[not found] ` <4994D6C8.5050004-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 2:17 ` David Gibson
[not found] ` <20090213021704.GA10476-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 2:45 ` DTS syntax and DTC patches (was: Re: [Qemu-devel] [RFC] Machine description as data) Carl-Daniel Hailfinger
[not found] ` <4994DED9.6020803-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 2:51 ` David Gibson
[not found] ` <20090213025101.GC10476-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 17:07 ` [coreboot] " ron minnich
[not found] ` <13426df10902130907m5c3452dpb8f4f2b72f8507b9@mail.gmail.com>
[not found] ` <13426df10902130907m5c3452dpb8f4f2b72f8507b9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-20 2:29 ` David Gibson
[not found] ` <20090220022918.GA18332-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-20 3:32 ` ron minnich
2009-02-13 20:04 ` [Qemu-devel] [RFC] Machine description as data Jon Loeliger
2009-02-13 20:15 ` Carl-Daniel Hailfinger
[not found] ` <4995D4EE.8030703-hi6Y0CQ0nG0@public.gmane.org>
2009-02-13 20:19 ` Jon Loeliger
2009-02-12 10:26 ` Markus Armbruster
2009-02-12 12:36 ` Carl-Daniel Hailfinger
[not found] ` <87k57w0x4r.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 0:37 ` [Qemu-devel] " David Gibson
[not found] ` <20090213003724.GA8104-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-13 11:26 ` Markus Armbruster
[not found] ` <87ab8qr317.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 12:06 ` Paul Brook
[not found] ` <200902131206.42427.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 12:48 ` Markus Armbruster
[not found] ` <87ocx6pkol.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 13:33 ` Paul Brook [this message]
[not found] ` <200902131333.47141.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 14:13 ` Markus Armbruster
[not found] ` <871vu2pgq7.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 14:25 ` Paul Brook
[not found] ` <200902131425.53137.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-13 15:47 ` Jamie Lokier
2009-02-13 18:36 ` Mitch Bradley
[not found] ` <4995BDC0.3040806-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-02-13 19:49 ` Markus Armbruster
[not found] ` <877i3uglqz.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-13 19:51 ` Mitch Bradley
2009-02-16 3:42 ` David Gibson
[not found] ` <20090216034214.GB9772-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-16 16:39 ` Markus Armbruster
[not found] ` <87iqnawd2r.fsf-A7mx1g9ivIOttUaS3K59qNi2O/JbrIOy@public.gmane.org>
2009-02-17 3:29 ` David Gibson
[not found] ` <20090217032909.GA29225-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-02-17 7:54 ` Markus Armbruster
2009-02-17 17:44 ` Paul Brook
[not found] ` <200902171744.34951.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2009-02-18 8:36 ` Markus Armbruster
[not found] ` <18834.64870.951989.714873@mariner.uk.xensource.com>
[not found] ` <18834.64870.951989.714873-msK/Ju9w1zmnROeE8kUsYhEHtJm+Wo+I@public.gmane.org>
2009-02-11 18:57 ` Hollis Blanchard
[not found] ` <1234378639.28751.85.camel-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org>
2009-02-12 3:50 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200902131333.47141.paul@codesourcery.com \
--to=paul-qd8j1lwmmjjtcj0u4l0sbw@public.gmane.org \
--cc=armbru-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
--cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.