From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] RFC: Booting the Linux/ppc64 kernel without Open Firmware HOWTO
Date: Thu, 19 May 2005 09:11:23 +1000 [thread overview]
Message-ID: <1116457884.918.29.camel@gaston> (raw)
In-Reply-To: <Pine.LNX.4.61.0505181002540.2101@mag.sysgo.com>
On Wed, 2005-05-18 at 10:12 +0200, Marius Groeger wrote:
> Ben,
>
> On Wed, 18 May 2005, Benjamin Herrenschmidt wrote:
>
> > Here's the very first draft of my HOWTO about booting the linux/ppc64
> > kernel without open firmware. It's still incomplete, the main chapter
> ^^^^^^^^^^^^^^^^^^^^^
> One could argue whether the full-blown emulation of an OF device tree
> may really be called this.... ;-)
You must be kidding :)
Honestly, a device tree is small and rather simple to layout, and would
fix most of the issues with piling up crap like incompatible boot_info
structures and that sort of thing that plague the ppc32 kernel.
A full blown implementation of OF is a lot bigger. It requires at least
3 different interfaces (the user interface, the fcode interface, the
client interface), along with all the bits & pieces to get a full
runtime environment.
>
> > b) Direct entry with a flattened device-tree block. This entry
> > point is called by a) after the OF trampoline and can also be
> > called directly by a bootloader that does not support the Open
> > Firmware client interface. It is also used by "kexec" to
>
> For OF based systems, what you outline definitely makes an awful lot of
> sense.
How so ? OF based system just implement the OF interface...
> For others I wonder what the costs of this are in terms of the memory
> footprint (both RAM and ROM). Are there reference implementations in
> existence?
You may not have noticed (well, I haven't filled part III yet so it may
not be clear), but I'm only making a very small subset of the
device-tree mandatory, though I do encourage people to provide an as
complete as possible.
For example, I will definitely not require the bootloader to provide a
full tree of PCI devices, only host bridges, in order to get interrupt
routing and resource mapping. However, I encourage people to put things
like on-chip devices in there, it makes everything much more flexible.
Regarding the cost, well, the device-tree itself is fairly small, maybe
a couple of pages for a minimum one. As I wrote, embedded boards can
decide to have it built at booloader build time, and simply embedded as
a blob in the firmware and passed along to the kernel, that is 0
firmware code. However, it would be simple to add minimum capabilities
to the firmware for editing/adding properties (for things like memory
size or kernel command line).
I wonder sometimes why people are so "afraid" of the device-tree
concept... it's really simple, does not require that much code, and
makes everything so much more flexible in the long run.
Ben.
next prev parent reply other threads:[~2005-05-18 23:11 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-18 7:09 [U-Boot-Users] RFC: Booting the Linux/ppc64 kernel without Open Firmware HOWTO Benjamin Herrenschmidt
2005-05-18 8:12 ` Marius Groeger
2005-05-18 23:11 ` Benjamin Herrenschmidt [this message]
2005-05-19 9:52 ` Marius Groeger
2005-05-19 10:22 ` Benjamin Herrenschmidt
2005-05-19 13:18 ` Wolfgang Denk
2005-05-19 19:37 ` Linas Vepstas
2005-05-19 20:18 ` Dan Malek
2005-05-19 22:33 ` Benjamin Herrenschmidt
2005-05-19 23:20 ` Wolfgang Denk
2005-05-19 23:42 ` Benjamin Herrenschmidt
2005-05-20 3:11 ` Benjamin Herrenschmidt
2005-05-20 7:11 ` Marius Groeger
2005-05-20 7:23 ` David Gibson
2005-05-20 7:27 ` Benjamin Herrenschmidt
2005-05-18 23:32 ` Benjamin Herrenschmidt
2005-05-19 4:56 ` [U-Boot-Users] RFC: Booting the Linux/ppc64 kernel without Open Firmware HOWTO (#2) Benjamin Herrenschmidt
2005-05-19 7:46 ` [U-Boot-Users] " Arnd Bergmann
2005-05-19 8:09 ` Benjamin Herrenschmidt
2005-05-19 16:24 ` Segher Boessenkool
2005-05-19 13:18 ` [U-Boot-Users] " Wolfgang Denk
2005-05-19 13:18 ` Wolfgang Denk
2005-05-19 13:16 ` Pantelis Antoniou
2005-05-19 13:16 ` Pantelis Antoniou
2005-05-19 22:20 ` Benjamin Herrenschmidt
2005-05-19 22:20 ` Benjamin Herrenschmidt
2005-05-19 23:14 ` Wolfgang Denk
2005-05-19 23:14 ` Wolfgang Denk
2005-05-19 23:28 ` Benjamin Herrenschmidt
2005-05-19 23:28 ` Benjamin Herrenschmidt
2005-05-20 6:44 ` Stefan Nickl
2005-05-20 6:44 ` Stefan Nickl
2005-05-20 3:51 ` Hollis Blanchard
2005-05-20 3:51 ` Hollis Blanchard
2005-05-20 6:59 ` Wolfgang Denk
2005-05-20 6:59 ` Wolfgang Denk
2005-05-20 4:24 ` Paul Mackerras
2005-05-20 4:24 ` Paul Mackerras
2005-05-20 4:28 ` Paul Mackerras
2005-05-20 4:28 ` Paul Mackerras
2005-05-20 4:26 ` [U-Boot-Users] " Hollis Blanchard
2005-05-20 5:04 ` Benjamin Herrenschmidt
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=1116457884.918.29.camel@gaston \
--to=benh@kernel.crashing.org \
--cc=u-boot@lists.denx.de \
/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.