From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Rob Herring <rob.herring@calxeda.com>,
Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
Paul Brook <paul@codesourcery.com>,
Jeremy Kerr <jeremy.kerr@canonical.com>
Subject: Re: [Qemu-devel] [PATCH] arm: add device tree support
Date: Sun, 29 Jan 2012 21:42:32 +0100 [thread overview]
Message-ID: <20120129204232.GA30311@zapo> (raw)
In-Reply-To: <20120128184837.GG2501@ponder.secretlab.ca>
On Sat, Jan 28, 2012 at 11:48:37AM -0700, Grant Likely wrote:
> On Fri, Jan 27, 2012 at 10:34:01PM +0000, Paul Brook wrote:
> > > If compiled with CONFIG_FDT, allow user to specify a device tree file using
> > > the -dtb argument. If the machine supports it then the dtb will be loaded
> > > into memory and passed to the kernel on boot.
> >
> > Adding annother machine feels wrong. Why does the board specific code need to
> > know about this at all? You already going it via a global variable, so can't
> > this be entirely contained within arm_boot.c?
>
> Mostly because the infrastructure isn't yet in place to pass the .dtb file
> through to the arm_boot code (or maybe it is; what is the best way to pass
> command line data through to the arm_boot.c code (or similar for other
> architectures)?
>
> > If the board file is involved, why is it asking the user?
>
> There is a lot of configuration in the .dts file that the QEMU user may want
> to manipulate; particularly when using QEMU for testing embedded platforms.
> The direction I want to go is to select the machine model based on the top
> level DT compatible property (making -M optional), and then also allow a lot
> of the machine layout to be driven by DT data. ie. populate emulated devices
> from DT data.
>
> I believe this is how Edgar is using the microblaze model, but I don't
> think those patches have been upstreamed yet. I hope that microblaze,
> ARM and powerpc can all use the same model here.
Yes, that's right.
> >
> > > + versatile_init(ram_size,
> > > + boot_device,
> > > + kernel_filename, kernel_cmdline,
> > > + initrd_filename, cpu_model, 0xffffffff);
> >
> > This only works because we're currently too dumb to emulate the differences
> > between the two board variants.
>
> Yeah, this is a hack so I could play with forcing the machine id.
> I'll remove it.
>
> > What we probably want to be doing is shipping/constructing device trees for
> > the boards we implement, with an option to turn this on/off. Requiring a user
> > to invent their own seems deeply sub-optimal given we know exactly what
> > hardware we're emulating. A user that needs to provide their own FDT seems
> > like a fairly rare corner case.
>
> I disagree. QEMU may want to ship stock .dts files, but it will
> absolutely be a common use case for embedded developers to pass in
> their own .dtb file.
>
> > This gets slightly more interesting when you have custom machine variants
> > (i.e. once we fix the object model, and have proper dynamic machine
> > construction). Even then I'd expect the FDT to be derived from/specificed by
> > the machine description, not a separate option.
>
> I started with going down that route, but switched to this model after
> playing with it and noticing that it doesn't seem to fit as well for
> embedded development as providing a .dtb file and having QEMU
> construct a machine that matches the data.
That's the way I see it too. Our use-case is to build the virtual machine
from the dtb. We then run the exact same software that runs on real hw.
I don't know the details on how practical dtb's are for describing more
complex bus hierarchies, maybe Peter has more info on that.
Cheers,
Edgar
next prev parent reply other threads:[~2012-01-29 20:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-27 21:53 [Qemu-devel] [PATCH] arm: add device tree support Grant Likely
2012-01-27 22:34 ` Paul Brook
2012-01-28 18:48 ` Grant Likely
2012-01-29 11:15 ` Paul Brook
2012-01-29 16:01 ` Grant Likely
2012-01-29 18:48 ` Andreas Färber
2012-01-29 21:29 ` Peter Maydell
2012-01-30 13:33 ` Grant Likely
2012-01-29 19:13 ` Peter Maydell
2012-01-29 20:36 ` Grant Likely
2012-01-30 11:36 ` Andreas Färber
2012-01-30 13:31 ` Grant Likely
2012-01-30 0:24 ` John Williams
2012-01-29 20:42 ` Edgar E. Iglesias [this message]
2012-01-29 23:54 ` Peter Crosthwaite
2012-01-30 13:40 ` Grant Likely
-- strict thread matches above, loose matches on Subject: below --
2012-01-29 7:48 Peter Crosthwaite
2012-02-22 19:48 Peter Maydell
2012-02-27 17:38 Peter Maydell
2012-02-27 17:41 ` Anthony Liguori
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=20120129204232.GA30311@zapo \
--to=edgar.iglesias@gmail.com \
--cc=grant.likely@secretlab.ca \
--cc=jeremy.kerr@canonical.com \
--cc=paul@codesourcery.com \
--cc=peter.crosthwaite@petalogix.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rob.herring@calxeda.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).