From: "M. Warner Losh" <imp-uzTCJ5RojNnQT0dZR+AlfA@public.gmane.org>
To: david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org
Cc: nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org,
microblaze-uclinux-rVRm/Wmeqae7NGdpmJTKYQ@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
ppc6dev-7kUUosv42bfn7oBBQGLwdg@public.gmane.org,
jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: Request review of device tree documentation
Date: Mon, 14 Jun 2010 09:51:08 -0600 (MDT) [thread overview]
Message-ID: <20100614.095108.295937982770216377.imp@bsdimp.com> (raw)
In-Reply-To: <20100614124438.GF9323@yookeroo>
In message: <20100614124438.GF9323@yookeroo>
David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org> writes:
: 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.
While I'll be the first to agree with that, there's also a great deal
of empirical evidence to suggest that they get it right enough often
enough. Otherwise nothing would boot and everything would be broken.
: > 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 down side of cuboot style is that your kernel will boot on fewer
boards. The firmware enables more generic kernels.
: > I'm also convinced that the economics are all wrong for "getting it
: > right" when talking about firmware. Manufactures don't care about
: > firmware; they care about selling boxes. Customers don't care about
: > firmware, they care about the operating system (well, that's not true
: > either, they care about applications). For manufactures, once it can
: > boot the real operating system, there is little to no incentive to
: > spend any more money on firmware when the money can be better spent on
: > either the next product or the adding features to the operating system
: > of the existing product. In fact, spending money on firmware is
: > actually *more risky* one a product ships, because if a firmware
: > upgrade goes bad, then that means product returned for repair at the
: > factory.
:
: A good analysis. The other side of this, is that for an OS, if you
: rely on the firmware to do X, it will work when the firmware gets it
: right. If you do X yourself, it will work whether or not the firmware
: gets it right. This means that if there's even one firmware you have
: to deal with out there that gets X wrong, you have to do it yourself
: and then there is little to no incentive to rely on firmware even in
: the cases where it does get it right. In fact there's a disincentive,
: because then you have two different code paths to test and maintain.
Two comments: (1) You are assuming that you are in a position to do
'X' right which isn't always possible (in this case, it is impossible
to do generically, but can be done specifically for a given board if
you know enough about the board) and (2) In this case, the wrapped fdt
path uses the same path as the get the fdt from the firmware.
Warner
next prev parent reply other threads:[~2010-06-14 15:51 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-11 22:59 Request review of device tree documentation Grant Likely
[not found] ` <AANLkTilK4YkRMJqlcRDOAlGBzpdlZuSo9NF5NrRNocHT-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-11 23:47 ` Dan Malek
[not found] ` <33BD8E86-9397-432A-97BF-F154812C157B-7kUUosv42bfn7oBBQGLwdg@public.gmane.org>
2010-06-12 2:58 ` Benjamin Herrenschmidt
2010-06-12 4:48 ` Mitch Bradley
2010-06-12 6:53 ` Grant Likely
[not found] ` <AANLkTilv6TtPZs0DAwd8JlSV_J3VvMsvtVVOOeQauOIn-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-12 8:19 ` Mitch Bradley
[not found] ` <4C13430B.5000907-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-12 10:45 ` Benjamin Herrenschmidt
2010-06-12 10:48 ` Benjamin Herrenschmidt
2010-06-12 16:30 ` Mitch Bradley
[not found] ` <4C13B618.1030006-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-12 22:52 ` Benjamin Herrenschmidt
2010-06-13 5:07 ` Grant Likely
[not found] ` <AANLkTimRV8u3gDNCAIlROJoPcKs7jFwj2na3ZDFOg3O0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13 5:39 ` Mitch Bradley
[not found] ` <4C146F18.9030008-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-13 5:59 ` Benjamin Herrenschmidt
2010-06-13 6:45 ` Mitch Bradley
[not found] ` <4C147EA5.3060500-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
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
[not found] ` <AANLkTinwL0XtMNG13inr_1UliOlqZkyr4dlvG-ZGL9JT-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 7:38 ` Russell King - ARM Linux
[not found] ` <20100614073828.GA6095-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14 7:45 ` Mitch Bradley
2010-06-14 9:25 ` Russell King - ARM Linux
[not found] ` <20100614092559.GA7881-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14 9:36 ` Benjamin Herrenschmidt
2010-06-14 9:47 ` Russell King - ARM Linux
[not found] ` <20100614094740.GB7881-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14 14:29 ` Jamie Lokier
2010-06-14 13:51 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.00.1006140943350.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 15:35 ` Grant Likely
[not found] ` <AANLkTim1mYpaxe-_OGbOF3AaZ6m5_SVUXLbeyKnAyvjs-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 15:58 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.00.1006141143480.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 16:16 ` Grant Likely
2010-06-14 5:02 ` Grant Likely
[not found] ` <AANLkTikls3hjXOmKFqG2D_9GaJSjOXNuuRXPlanAjo5E-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 12:44 ` David Gibson
2010-06-14 14:59 ` Nicolas Pitre
2010-06-14 15:08 ` Grant Likely
[not found] ` <alpine.LFD.2.00.1006141044510.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
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
[not found] ` <AANLkTilZuMKzFN1hD1k4Q067jSkryPuWA2bhW0Y3GJTg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 16:33 ` Jamie Lokier
[not found] ` <20100614160201.GD9550-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2010-06-14 16:58 ` Mitch Bradley
2010-06-14 17:26 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.00.1006141311580.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
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
[not found] ` <4C186AA8.4040709-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16 6:13 ` Mitch Bradley
2010-06-16 6:17 ` Mike Rapoport
[not found] ` <4C186C72.2020506-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16 6:32 ` Mitch Bradley
2010-06-16 6:47 ` Mike Rapoport
[not found] ` <4C18738C.4090809-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16 7:40 ` Mitch Bradley
2010-06-16 9:45 ` Vladimir Pantelic
2010-06-16 10:39 ` Mike Rapoport
[not found] ` <4C18A9C7.5070800-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
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
[not found] ` <4C187013.5000400-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-16 6:52 ` M. Warner Losh
2010-06-18 22:12 ` Frank Rowand
2010-06-15 2:02 ` David Gibson
2010-06-14 15:51 ` M. Warner Losh [this message]
2010-06-13 5:48 ` Benjamin Herrenschmidt
2010-06-14 5:13 ` Grant Likely
[not found] ` <AANLkTikBjwuVvij8I91XaQgLfn8r_lZDrAsIBfJrHDBF-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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-08-05 4:43 ` David Gibson
2010-09-01 16:19 ` Grant Likely
[not found] ` <4C13C4D9.2030108@gatzka.org>
[not found] ` <AANLkTilAIr4XZvmcrNFIp-6Y1NdCV9SvFXceWWxaRCSP@mail.gmail.com>
[not found] ` <4C149DE1.1050800@gatzka.org>
[not found] ` <4C149DE1.1050800-tNItQxeJkt8dnm+yROfE0A@public.gmane.org>
2010-06-13 20:03 ` Grant Likely
[not found] ` <AANLkTim-FzAihEd0FE72dy3Ubb2yiIQh4rtI6TIMovFW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 23:44 ` Grant Likely
[not found] ` <AANLkTikV9XqufTO9LVAql3nbySpPz_p_4kv7YY2b4UPW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-15 19:25 ` Stephan Gatzka
[not found] ` <4C13C4D9.2030108-tNItQxeJkt8dnm+yROfE0A@public.gmane.org>
2010-06-14 5:54 ` Grant Likely
-- strict thread matches above, loose matches on Subject: below --
2010-08-05 15:15 Terren Chow
[not found] ` <AANLkTikFNFvM7x6TzN8DPM9E4vC0KVRb0sz4r2wu_nZ+-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-05 16:41 ` 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=20100614.095108.295937982770216377.imp@bsdimp.com \
--to=imp-uztcj5rojnnqt0dzr+alfa@public.gmane.org \
--cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
--cc=microblaze-uclinux-rVRm/Wmeqae7NGdpmJTKYQ@public.gmane.org \
--cc=nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org \
--cc=ppc6dev-7kUUosv42bfn7oBBQGLwdg@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox