From: Anthony Liguori <anthony@codemonkey.ws>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
stefanha@linux.vnet.ibm.com, qemu-devel@nongnu.org,
Grant Likely <grant.likely@secretlab.ca>,
michal.simek@petalogix.com, john.williams@petalogix.com
Subject: Re: [Qemu-devel] [RFC PATCH V1 00/14] Dynamic machine model creation from device trees
Date: Thu, 25 Aug 2011 14:54:13 -0500 [thread overview]
Message-ID: <4E56A865.5080409@codemonkey.ws> (raw)
In-Reply-To: <20110825191054.GC21302@zapo>
On 08/25/2011 02:10 PM, Edgar E. Iglesias wrote:
> On Thu, Aug 25, 2011 at 11:04:12AM -0500, Anthony Liguori wrote:
>> On 08/25/2011 10:43 AM, Peter Crosthwaite wrote:
>>> Hi Anthony,
>>>
>>> So the primary motivation for using this is in embedded systems design flows
>>> where you are already working with DTS for software boot. For
>>> microblaze-linux, xilinx-ppc and the xilinx-arm platforms which we are
>>> working with, it even more makes sense as the hardware platform design tools
>>> are capable of emitting platforms descriptions as DTS. With this framework,
>>> there is no need to write another description of your system (i.e. a config
>>> file, or a hardcoded machine model). DTSs are a standardised way of
>>> describing machines in the embedded linux arena, and are our machine
>>> description source, so in one way or another, we will continue need to
>>> create QEMU machines that match a DTB.
>>
>> Yes, but as is obvious in your series, the DTB used to create the
>> guest is not necessarily what you expose to the guest.
>>
>> So whether the config you use to create the guest is DTB or
>> something else sort of doesn't matter. It's an implementation
>> detail and you should be able to easily use any number of formats.
>
> No, the point *is* to use DTS. It's an existing format, widely used
> and compatible with other tools.
Yes, I understand. But DTS is just a data format. What matters are the
mechanisms of going from DTS -> object model.
If we do that right, you could use DTS, INI, XML, JSON, whatever.
> The dtb is passed on by different layers of the boot and is edited for
> various reasons, for example to pass on kernel cmd lines. Nothing strange
> there.
>
> The reason for removing devices from it, is simply due to lack of manpower,
> QEMU doesnt emulate all the devices in the dtb description yet. So that
> miss-"feature" will ideally go away with time.
>
> An option is ofcourse to translate the dts to what ever bolibumpa format
> qemu is using (with all the compat/versioning issues that brings). Still,
> maybe that's something to consider. Peter?
We shouldn't have an intermediate format. We should have monitor
commands to create the device tree and then a DTS interpreter that reads
the DTS and executes the appropriate commands.
The problem with the current series is that it mixes up these two things.
>> This is the goal of QOM except it does this by fixing the problems
>> in qdev instead of adding another layer on top of things.
>
>
> Then maybe the FDT machinery could be respinned to work on top of your QOM
> objects?
>
> Or are FDT's a complete no go? So external conversion is the only option?
No, DTS is fine but not as proposed. You shouldn't mix the logic of
creating the nodes in the tree with the format of how you're describing
what nodes to be there.
Another way to put it, limit the logic strictly to invoking qdev
operations derived from the DTS. You'll see that there are things you
can't do but the point is that we need to fix qdev to make it possible
to do those things.
Regards,
Anthony Liguori
>
> Cheers
>
next prev parent reply other threads:[~2011-08-25 19:54 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-25 6:41 [Qemu-devel] [RFC PATCH V1 00/14] Dynamic machine model creation from device trees Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 01/14] qemu-coroutine: Add simple work queue support Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 02/14] device_tree: Extended interface for fdt_generic Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 03/14] fdt_generic: First revision Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 04/14] xilinx_uartlite: Added fdt gen. platform support Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 05/14] pflash_cfi01: Added fdt generic " Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 06/14] qdev: Added fn for querying device property types Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 07/14] fdt_generic_qdev: first revision Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 08/14] xilinx_timer: Added fdt_generic platform support Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 09/14] xilinx_intc: Added fdt generic " Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 10/14] xilinx_ethlite: " Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 11/14] vl.c: Added hw_dtb/kern_dtb command line opts Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 12/14] microblaze: Make the MSR PVR bit non writable Peter A. G. Crosthwaite
2011-08-25 9:34 ` Peter Maydell
2011-08-25 10:17 ` Peter Crosthwaite
2011-08-25 18:28 ` Edgar E. Iglesias
2011-08-25 21:04 ` Edgar E. Iglesias
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 13/14] microblaze: Add an MSR_PVR constant and use it Peter A. G. Crosthwaite
2011-08-25 6:41 ` [Qemu-devel] [RFC PATCH V1 14/14] microblaze_generic_fdt: first revision Peter A. G. Crosthwaite
2011-08-25 13:27 ` [Qemu-devel] [RFC PATCH V1 00/14] Dynamic machine model creation from device trees Anthony Liguori
2011-08-25 15:43 ` Peter Crosthwaite
2011-08-25 15:59 ` Paolo Bonzini
2011-08-25 16:04 ` Anthony Liguori
2011-08-25 19:10 ` Edgar E. Iglesias
2011-08-25 19:54 ` Anthony Liguori [this message]
2011-08-25 20:20 ` Edgar E. Iglesias
2011-08-25 21:17 ` Anthony Liguori
2011-09-02 2:45 ` John Williams
2011-09-08 0:29 ` John Williams
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=4E56A865.5080409@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=edgar.iglesias@gmail.com \
--cc=grant.likely@secretlab.ca \
--cc=john.williams@petalogix.com \
--cc=michal.simek@petalogix.com \
--cc=peter.crosthwaite@petalogix.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
/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 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).