All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] RE: Booting the Linux/ppc64 kernel without Open Firmware HOWTO(#2)
Date: Mon, 23 May 2005 08:29:36 +1000	[thread overview]
Message-ID: <1116800976.6002.16.camel@gaston> (raw)
In-Reply-To: <B9FFC3F97441D04093A504CEA31B7C412A5C98@msilexch01.marvell.com>

On Mon, 2005-05-23 at 00:43 +0300, Tzachi Perelstein wrote:
> Seems like it was a *hot* weekend...
> 
> Ben, I agree with Wolfgang that while taking footprint and simplicity
> into account we should "try to think about the whole system, including
> boot loader, kernel, and any data that might need to get passed between
> these two". 

This is what this is doing. Please read all that was said.

> My ppc64 Linux is booted from U-Boot on Marvell platform and it uses the
> simple board_info instead of the device-tree. There are only some minor
> hacks in arch files that by-pass the whole device-tree usage in head.S
> and setup.c, e.g. [1] early_init_board_info() instead of
> early_init_devtree(), and [2] skipping on unflatten_device_tree() and
> finish_device_tree(). 

Minor hacks -> too many hacks. Please. Understand that it means
everybody will end up creating slightly different board-info, and the
whole thing will end up like an ifdef clutter.

Honestly, I don't see where is your problem with a device-tree, it seems
we have proven it was both small and much more flexible.

> As you know, the majority of these functions and
> sub-functions just parse and handle the device-tree. 
> Frankly, although I'm willing to give device-tree a try, I think it is
> not the wise thing to do.

Well, I think you are wrong.

>  It is simple and effective, and it can be
> nicer with minor _general_ support in arch files to non-OF loaders. 

There is, it's called a flattened device-tree. Damn, I can't see what is
your problem here. A minimum tree is a few hundred bytes dammit ! You
can probably even define one that exposes the north bridges devices
(assuming you have similar ethernet as other Marvell chips) etc... in a
few more hundred bytes, thus making the whole probing of these &
matching with drivers a lot cleaner on the kernel side.

> A
> slightly different loading for embedded systems is not necessarily a
> mess. I'm sure that the ppc experience will make it be nice and
> structured even this way.

Nope, it won't. A structure definition is the _worse_ thing to do.

> Imagine emerging ppc64 Linux embedded systems living outside the kernel
> due to embedded incompatibilities; this might make much more mess in the
> long run... 

I don't understand your point. It is _simple_ to set up a device-tree.
It's probably even more flexible for your own embedded needs.

Ben.

  reply	other threads:[~2005-05-22 22:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-22 21:43 [U-Boot-Users] RE: Booting the Linux/ppc64 kernel without Open Firmware HOWTO(#2) Tzachi Perelstein
2005-05-22 22:29 ` Benjamin Herrenschmidt [this message]
2005-05-23 15:06 ` [U-Boot-Users] " Segher Boessenkool

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=1116800976.6002.16.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.