From: jamie@shareable.org (Jamie Lokier)
To: linux-arm-kernel@lists.infradead.org
Subject: Boot interface for device trees on ARM
Date: Wed, 19 May 2010 17:45:34 +0100 [thread overview]
Message-ID: <20100519164534.GE1693@shareable.org> (raw)
In-Reply-To: <AANLkTinsOSI_TIc7Jyy4QFuFaS2d-fi0y3LMuITLyG3N@mail.gmail.com>
Grant Likely wrote:
> On Tue, May 18, 2010 at 5:57 AM, Nicolas Pitre <nico@fluxnic.net> wrote:
> > On Tue, 18 May 2010, Jeremy Kerr wrote:
> >
> >> Hi Nicolas,
> >>
> >> > I think that, for the moment, it is best if the bootloader on already
> >> > existing subarchitectures where DT is introduced still preserve the
> >> > already existing ability to boot using ATAGs. ?This allows for the
> >> > testing and validation of the DT concept against the legacy ATAG method
> >> > more easily.
> >>
> >> Just to clarify - by "still preserve the existing ability to use ATAGs" you
> >> mean only for non-DT boot, right?
> >
> > Exact. ?Once a particular SOC family has no non-DT support anymore (due
> > to being entirely new, or because people get really enthusiastic and
> > fade out legacy machine specific init code completely) then and only
> > then it might be logical to remove ATAG from the concerned bootloaders.
> >
> >
> >> This proposal still does not require ATAG_DEVTREE?
> >
> > No.
>
> Hmmm... I misunderstood then. I don't agree that this is the best way forward.
>
> Doing it this way means a non-compatible break in the interface. It
> means that the bootloader needs to know what interface the kernel is
> expecting for boot; information that is not readily available from the
> image type. The user then needs to tell the boot loader which
> interface to use rather than a backwards compatible addition of a blob
> of data.
Also the other way around: Sometimes you want to install the same
kernel on systems with old and new bootloaders, without touching the
bootloaders (due to that not being powerfail-safe, say). The kernel
needs to know if it's passed a DT from a newer bootloader or not.
And sometimes you'd like to install a newer, tested kernel (that uses
DTs) on systems with old bootloaders.
> You mention below "shifting the World Order on ARM" and it creating
> resistance for merging DT support. Isn't this much the same thing as
> it creates a non backwards compatible change in the way bootloaders
> pass data to the kernel. The cutover in powerpc from the old
> interface to the new caused no end of confusion and people who could
> no longer get their systems to boot. On PowerPC is was necessary
> because the old method was completely broken, but ATAGs are clean,
> simple and well implemented.
You can't always update the boot loader. Sometimes you're stuck with
what's there for the life of a device. Either it's ROM, or it's too
risky to modify in place.
> It also means teaching every boot loader two separate methods for
> booting and exposing those differences to the user.
Embedded devices usually don't have any way for the "user" to choose
from a boot menu ;-)
ATAG_DEVTREE sounds good to me for mix'n'match systems.
New systems that always use DTs could use _just_ ATAG_DEVTREE, to
avoid questions of conflicting info. They could also settle on a
fixed R1 value meaning "devtree platform".
Or if a fixed "devtree platform" R1 is used, R2 could point directly
at the DT, no atag list in that specific case.
-- Jamie
WARNING: multiple messages have this Message-ID (diff)
From: Jamie Lokier <jamie-yetKDKU6eevNLxjTenLetw@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: nicolas.pitre-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org,
Jeremy Kerr <jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>
Subject: Re: Boot interface for device trees on ARM
Date: Wed, 19 May 2010 17:45:34 +0100 [thread overview]
Message-ID: <20100519164534.GE1693@shareable.org> (raw)
In-Reply-To: <AANLkTinsOSI_TIc7Jyy4QFuFaS2d-fi0y3LMuITLyG3N-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Grant Likely wrote:
> On Tue, May 18, 2010 at 5:57 AM, Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org> wrote:
> > On Tue, 18 May 2010, Jeremy Kerr wrote:
> >
> >> Hi Nicolas,
> >>
> >> > I think that, for the moment, it is best if the bootloader on already
> >> > existing subarchitectures where DT is introduced still preserve the
> >> > already existing ability to boot using ATAGs. This allows for the
> >> > testing and validation of the DT concept against the legacy ATAG method
> >> > more easily.
> >>
> >> Just to clarify - by "still preserve the existing ability to use ATAGs" you
> >> mean only for non-DT boot, right?
> >
> > Exact. Once a particular SOC family has no non-DT support anymore (due
> > to being entirely new, or because people get really enthusiastic and
> > fade out legacy machine specific init code completely) then and only
> > then it might be logical to remove ATAG from the concerned bootloaders.
> >
> >
> >> This proposal still does not require ATAG_DEVTREE?
> >
> > No.
>
> Hmmm... I misunderstood then. I don't agree that this is the best way forward.
>
> Doing it this way means a non-compatible break in the interface. It
> means that the bootloader needs to know what interface the kernel is
> expecting for boot; information that is not readily available from the
> image type. The user then needs to tell the boot loader which
> interface to use rather than a backwards compatible addition of a blob
> of data.
Also the other way around: Sometimes you want to install the same
kernel on systems with old and new bootloaders, without touching the
bootloaders (due to that not being powerfail-safe, say). The kernel
needs to know if it's passed a DT from a newer bootloader or not.
And sometimes you'd like to install a newer, tested kernel (that uses
DTs) on systems with old bootloaders.
> You mention below "shifting the World Order on ARM" and it creating
> resistance for merging DT support. Isn't this much the same thing as
> it creates a non backwards compatible change in the way bootloaders
> pass data to the kernel. The cutover in powerpc from the old
> interface to the new caused no end of confusion and people who could
> no longer get their systems to boot. On PowerPC is was necessary
> because the old method was completely broken, but ATAGs are clean,
> simple and well implemented.
You can't always update the boot loader. Sometimes you're stuck with
what's there for the life of a device. Either it's ROM, or it's too
risky to modify in place.
> It also means teaching every boot loader two separate methods for
> booting and exposing those differences to the user.
Embedded devices usually don't have any way for the "user" to choose
from a boot menu ;-)
ATAG_DEVTREE sounds good to me for mix'n'match systems.
New systems that always use DTs could use _just_ ATAG_DEVTREE, to
avoid questions of conflicting info. They could also settle on a
fixed R1 value meaning "devtree platform".
Or if a fixed "devtree platform" R1 is used, R2 could point directly
at the DT, no atag list in that specific case.
-- Jamie
next prev parent reply other threads:[~2010-05-19 16:45 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-18 2:54 Boot interface for device trees on ARM Jeremy Kerr
2010-05-18 2:54 ` Jeremy Kerr
2010-05-18 4:34 ` Nicolas Pitre
2010-05-18 4:34 ` Nicolas Pitre
2010-05-18 5:24 ` Jeremy Kerr
2010-05-18 5:24 ` Jeremy Kerr
2010-05-18 8:49 ` David Gibson
2010-05-18 8:49 ` David Gibson
2010-05-18 12:24 ` Nicolas Pitre
2010-05-18 12:24 ` Nicolas Pitre
2010-05-18 14:06 ` Jason McMullan
2010-05-18 14:06 ` Jason McMullan
2010-05-19 0:21 ` David Gibson
2010-05-19 0:21 ` David Gibson
2010-05-19 0:28 ` David Gibson
2010-05-19 0:28 ` David Gibson
2010-05-19 1:28 ` Nicolas Pitre
2010-05-19 1:28 ` Nicolas Pitre
2010-05-19 6:50 ` David Gibson
2010-05-19 6:50 ` David Gibson
2010-05-19 14:45 ` Grant Likely
2010-05-19 14:45 ` Grant Likely
2010-05-19 1:41 ` Jamie Lokier
2010-05-19 1:41 ` Jamie Lokier
2010-05-19 7:12 ` David Gibson
2010-05-19 7:12 ` David Gibson
2010-05-19 14:21 ` Grant Likely
2010-05-19 14:21 ` Grant Likely
2010-05-19 7:25 ` Mitch Bradley
2010-05-19 7:25 ` Mitch Bradley
2010-05-19 8:50 ` Jeremy Kerr
2010-05-19 8:50 ` Jeremy Kerr
2010-05-18 11:57 ` Nicolas Pitre
2010-05-18 11:57 ` Nicolas Pitre
2010-05-19 12:13 ` Grant Likely
2010-05-19 12:13 ` Grant Likely
2010-05-19 16:45 ` Jamie Lokier [this message]
2010-05-19 16:45 ` Jamie Lokier
2010-05-19 17:10 ` Grant Likely
2010-05-19 17:10 ` Grant Likely
2010-05-19 17:32 ` M. Warner Losh
2010-05-19 17:32 ` M. Warner Losh
2010-05-19 11:57 ` Grant Likely
2010-05-19 11:57 ` Grant Likely
2010-05-19 12:08 ` Russell King - ARM Linux
2010-05-19 12:08 ` Russell King - ARM Linux
2010-05-19 17:52 ` Nicolas Pitre
2010-05-19 17:52 ` Nicolas Pitre
2010-05-19 20:08 ` Jamie Lokier
2010-05-19 20:08 ` Jamie Lokier
2010-05-19 20:22 ` Nicolas Pitre
2010-05-19 20:22 ` Nicolas Pitre
2010-05-21 16:24 ` John Rigby
2010-05-21 16:24 ` John Rigby
2010-05-21 16:27 ` Jamie Bennett
2010-05-21 16:27 ` Jamie Bennett
2010-05-21 19:59 ` Russell King - ARM Linux
2010-05-21 19:59 ` Russell King - ARM Linux
2010-06-03 21:12 ` Grant Likely
2010-06-03 21:12 ` Grant Likely
2010-06-04 20:01 ` Grant Likely
2010-06-04 20:01 ` Grant Likely
2010-06-04 20:33 ` John Rigby
2010-06-04 20:33 ` John Rigby
2010-06-04 20:37 ` Jon Loeliger
2010-06-04 20:37 ` Jon Loeliger
2010-06-04 21:07 ` Grant Likely
2010-06-04 21:07 ` Grant Likely
2010-06-05 1:33 ` Jeremy Kerr
2010-06-05 1:33 ` Jeremy Kerr
2010-06-05 2:29 ` Nicolas Pitre
2010-06-05 2:29 ` Nicolas Pitre
2010-06-05 5:59 ` Grant Likely
2010-06-05 5:59 ` Grant Likely
2010-06-09 4:26 ` Jeremy Kerr
2010-06-09 4:26 ` Jeremy Kerr
2010-06-09 13:09 ` Nicolas Pitre
2010-06-09 13:09 ` Nicolas Pitre
2010-05-19 11:45 ` Grant Likely
2010-05-19 11:45 ` 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=20100519164534.GE1693@shareable.org \
--to=jamie@shareable.org \
--cc=linux-arm-kernel@lists.infradead.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 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.