From: David Gibson <david@gibson.dropbear.id.au>
To: Nicolas Pitre <nico@fluxnic.net>
Cc: microblaze-uclinux@itee.uq.edu.au,
devicetree-discuss <devicetree-discuss@lists.ozlabs.org>,
linuxppc-dev <linuxppc-dev@ozlabs.org>,
Mitch Bradley <wmb@firmworks.com>,
Dan Malek <ppc6dev@digitaldans.com>,
Jeremy Kerr <jeremy.kerr@canonical.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: Request review of device tree documentation
Date: Tue, 15 Jun 2010 12:02:24 +1000 [thread overview]
Message-ID: <20100615020224.GK9323@yookeroo> (raw)
In-Reply-To: <alpine.LFD.2.00.1006141044510.13427@xanadu.home>
On Mon, Jun 14, 2010 at 10:59:20AM -0400, Nicolas Pitre wrote:
> On Mon, 14 Jun 2010, David Gibson wrote:
>
> > On Sun, Jun 13, 2010 at 11:02:15PM -0600, Grant Likely wrote:
> > [sni]
> > > > That's sort of a self-fulfilling prophecy. If the OS doesn't trust the
> > > > firmware, there is no pressure for the firmware to "get it right".
> > >
> > > Firmware will not get it right. Period. There will always be
> > > something wrong. It is never right on PCs. It will never be right on
> > > the other architectures.
> >
> > Yes, yes, yes. And there is a great deal of empirical evidence to
> > back that assertion.
> >
> > > That goes for OSes too, but upgrading an OS
> > > isn't as risky as upgrading firmware. That isn't to say that it can't
> > > be close, but every firmware feature that the OS depends on is a
> > > feature that could force a risky firmware upgrade when the bug in it
> > > is discovered.
> >
> > Indeed. In fact, the general rule of thumb is really "put as much as
> > possible into the most easily replaced layer of the stack". This is,
> > incidentally, why I've always been dubious about simple firmwares
> > supplying a flattened device tree rather than including the device
> > tree template in the kernel, cuboot style.
>
> The biggest advantage, IMHO, for adding DT to ARM, is actually to
> decouple the hardware config information and the kernel. If in the end
> the DT has to be shipped in the kernel then we're losing all this
> advantage over the current state of things on ARM which still works
> pretty well otherwise.
Right, which is why I'm just dubious, not dead against it. If
firmware supplies a device tree that's so awful you have to replace
most of it, then you haven't won much over having a kernel wrapper
which uses ad-hoc logic to detect the board type from whatever random
clues the firmware leaves and selects a device tree from it's library
of them based on that. On ARM this sort of approach is probably more
effective than powerpc, even, since you could use the machine number
to select from a bag of canned device trees and still have a
multi-board kernel.
> In the best case, the simple firmware simply has to retrieve the
> flattened device tree from flash, and pass it to the kernel just like
> some anonymous blob. And the simple firmware only needs to provide a
> way for that DT blob to be updatable, like through an upload of a
> replacement blob that was prepared offline. Just like a ramdisk image
> or the like.
Yes, having the firmware DT independently updateable makes most of my
concerns about it go away.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
next prev parent reply other threads:[~2010-06-15 2:02 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-11 22:59 Request review of device tree documentation Grant Likely
2010-06-11 23:47 ` Dan Malek
2010-06-12 2:58 ` Benjamin Herrenschmidt
2010-06-12 4:48 ` Mitch Bradley
2010-06-12 6:53 ` Grant Likely
2010-06-12 8:19 ` Mitch Bradley
2010-06-12 10:45 ` Benjamin Herrenschmidt
2010-06-12 10:48 ` Benjamin Herrenschmidt
2010-06-12 16:30 ` Mitch Bradley
2010-06-12 22:52 ` Benjamin Herrenschmidt
2010-06-13 5:07 ` Grant Likely
2010-06-13 5:39 ` Mitch Bradley
2010-06-13 5:59 ` Benjamin Herrenschmidt
2010-06-13 6:45 ` Mitch Bradley
2010-06-13 8:29 ` Benjamin Herrenschmidt
2010-06-14 5:36 ` Grant Likely
2010-06-14 20:00 ` Ben Dooks
2010-06-13 8:57 ` Benjamin Herrenschmidt
2010-06-14 5:23 ` Grant Likely
2010-06-14 7:38 ` Russell King - ARM Linux
2010-06-14 7:45 ` Mitch Bradley
2010-06-14 9:25 ` Russell King - ARM Linux
2010-06-14 9:36 ` Benjamin Herrenschmidt
2010-06-14 9:47 ` Russell King - ARM Linux
2010-06-14 14:29 ` Jamie Lokier
2010-06-14 13:51 ` Nicolas Pitre
2010-06-14 15:35 ` Grant Likely
2010-06-14 15:58 ` Nicolas Pitre
2010-06-14 16:16 ` Grant Likely
2010-06-14 5:02 ` Grant Likely
2010-06-14 12:44 ` David Gibson
2010-06-14 14:59 ` Nicolas Pitre
2010-06-14 15:08 ` Grant Likely
2010-06-14 16:02 ` Jamie Lokier
2010-06-14 16:23 ` Nicolas Pitre
2010-06-14 16:29 ` Grant Likely
2010-06-14 16:28 ` Grant Likely
2010-06-14 16:33 ` Jamie Lokier
2010-06-14 16:58 ` Mitch Bradley
2010-06-14 17:26 ` Nicolas Pitre
2010-06-14 18:20 ` Mitch Bradley
2010-06-14 19:40 ` Nicolas Pitre
2010-06-14 20:08 ` Mark Brown
2010-06-16 6:09 ` Mike Rapoport
2010-06-16 6:13 ` Mitch Bradley
2010-06-16 6:17 ` Mike Rapoport
2010-06-16 6:32 ` Mitch Bradley
2010-06-16 6:47 ` Mike Rapoport
2010-06-16 7:40 ` Mitch Bradley
2010-06-16 9:45 ` Vladimir Pantelic
2010-06-16 10:39 ` Mike Rapoport
2010-06-16 11:41 ` Jamie Lokier
2010-06-16 13:48 ` Jamie Bennett
2010-06-16 14:39 ` Nicolas Pitre
2010-06-16 17:43 ` Tim Bird
2010-06-16 6:52 ` M. Warner Losh
2010-06-18 22:12 ` Frank Rowand
2010-06-15 2:02 ` David Gibson [this message]
2010-06-14 15:51 ` M. Warner Losh
2010-06-13 5:48 ` Benjamin Herrenschmidt
2010-06-14 5:13 ` Grant Likely
2010-06-14 6:09 ` Benjamin Herrenschmidt
2010-06-14 6:17 ` Mitch Bradley
2010-06-12 22:15 ` Olof Johansson
2010-06-12 23:09 ` Grant Likely
2010-06-13 6:47 ` [microblaze-uclinux] " Edgar E. Iglesias
2010-06-12 3:00 ` Benjamin Herrenschmidt
2010-06-12 3:07 ` Benjamin Herrenschmidt
2010-06-13 13:12 ` Jeremy Kerr
2010-06-14 5:40 ` Grant Likely
2010-06-12 17:33 ` Stephan Gatzka
2010-06-12 18:19 ` Grant Likely
2010-06-14 5:54 ` Grant Likely
2010-08-05 4:43 ` David Gibson
2010-09-01 16:19 ` Grant Likely
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=20100615020224.GK9323@yookeroo \
--to=david@gibson.dropbear.id.au \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=jeremy.kerr@canonical.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=nico@fluxnic.net \
--cc=ppc6dev@digitaldans.com \
--cc=wmb@firmworks.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).