All of lore.kernel.org
 help / color / mirror / Atom feed
From: davidb@codeaurora.org (David Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage
Date: Mon, 13 Jun 2011 16:04:57 -0700	[thread overview]
Message-ID: <8yaaadlfi3q.fsf@huya.qualcomm.com> (raw)
In-Reply-To: <20110612104048.GE10283@n2100.arm.linux.org.uk> (Russell King's message of "Sun, 12 Jun 2011 11:40:48 +0100")

On Sun, Jun 12 2011, Russell King - ARM Linux wrote:

> On Sun, Jun 12, 2011 at 06:42:16PM +0800, Shawn Guo wrote:
>> On Sun, Jun 12, 2011 at 10:52:17AM +0100, Russell King - ARM Linux wrote:
>> > On Sun, Jun 12, 2011 at 05:38:23PM +0800, Shawn Guo wrote:
>> > > On Sun, Jun 12, 2011 at 10:21:31AM +0100, Russell King - ARM Linux wrote:
>> > > > What if your platform doesn't use uboot?
>> > > 
>> > > Add dtb parsing support with the help from libfdt, I guess.  It is
>> > > some amount of work, but it's not a rewrite of bootloader, IMHO.
>> > 
>> > I guess you're suggesting that this wrapper uses libfdt to merge
>> > the ATAGs with the DT info?
>> > 
>> No, ATAGs does not play at all in this case.  For u-boot example
>> again, if it boots a dt kernel, dtb will be parsed to get cmdline
>> node overwritten as bootargs env value, and then it boots the dt
>> kernel with this updated dtb.
>
> You've missed my point entirely.  What you're saying is that we have to
> re-build and replace the boot loader in order to pass a command line into
> a kernel using the DT wrapper.
>
> I'm saying that you shouldn't have to, and the kernel should accept the
> memory size and command line from the ATAGs _in addition_ to the
> appended DT blob, and the ATAGs in that case should take precidence.

Having just now booted an MSM target using device tree, I'm going to
agree with Russell here.  I don't really see a clean transition path for
us to hard cut over to DT, at least on existing targets.

The MSMs use a custom bootloader.  It builds ATAGS to pass in memory
information, command line arguments, and the ramdisk address.  Working
with the bootloader team just to do this was difficult; trying to
support DT in the bootloader would be even more difficult.

But, beyond this, we have to still be able to boot our production
kernels (which don't have DT support, and probably won't for quite some
time).

The steps I had to go through to boot a DT kernel were kind of
complicated:

  - Boot kernel in a debugger, and inspect the ATAGS.

  - Edit my DTS file to match the current values.

  - Compile the DTS file.

  - Load the dtb on top of the ATAGS.

Unless I'm missing something, I don't see a clean way of supporting this
that doesn't involve the kernel being able to parse the ATAGS as well.

David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

WARNING: multiple messages have this Message-ID (diff)
From: David Brown <davidb@codeaurora.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>,
	Tony Lindgren <tony@atomide.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org,
	Shawn Guo <shawn.guo@freescale.com>
Subject: Re: [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage
Date: Mon, 13 Jun 2011 16:04:57 -0700	[thread overview]
Message-ID: <8yaaadlfi3q.fsf@huya.qualcomm.com> (raw)
In-Reply-To: <20110612104048.GE10283@n2100.arm.linux.org.uk> (Russell King's message of "Sun, 12 Jun 2011 11:40:48 +0100")

On Sun, Jun 12 2011, Russell King - ARM Linux wrote:

> On Sun, Jun 12, 2011 at 06:42:16PM +0800, Shawn Guo wrote:
>> On Sun, Jun 12, 2011 at 10:52:17AM +0100, Russell King - ARM Linux wrote:
>> > On Sun, Jun 12, 2011 at 05:38:23PM +0800, Shawn Guo wrote:
>> > > On Sun, Jun 12, 2011 at 10:21:31AM +0100, Russell King - ARM Linux wrote:
>> > > > What if your platform doesn't use uboot?
>> > > 
>> > > Add dtb parsing support with the help from libfdt, I guess.  It is
>> > > some amount of work, but it's not a rewrite of bootloader, IMHO.
>> > 
>> > I guess you're suggesting that this wrapper uses libfdt to merge
>> > the ATAGs with the DT info?
>> > 
>> No, ATAGs does not play at all in this case.  For u-boot example
>> again, if it boots a dt kernel, dtb will be parsed to get cmdline
>> node overwritten as bootargs env value, and then it boots the dt
>> kernel with this updated dtb.
>
> You've missed my point entirely.  What you're saying is that we have to
> re-build and replace the boot loader in order to pass a command line into
> a kernel using the DT wrapper.
>
> I'm saying that you shouldn't have to, and the kernel should accept the
> memory size and command line from the ATAGs _in addition_ to the
> appended DT blob, and the ATAGs in that case should take precidence.

Having just now booted an MSM target using device tree, I'm going to
agree with Russell here.  I don't really see a clean transition path for
us to hard cut over to DT, at least on existing targets.

The MSMs use a custom bootloader.  It builds ATAGS to pass in memory
information, command line arguments, and the ramdisk address.  Working
with the bootloader team just to do this was difficult; trying to
support DT in the bootloader would be even more difficult.

But, beyond this, we have to still be able to boot our production
kernels (which don't have DT support, and probably won't for quite some
time).

The steps I had to go through to boot a DT kernel were kind of
complicated:

  - Boot kernel in a debugger, and inspect the ATAGS.

  - Edit my DTS file to match the current values.

  - Compile the DTS file.

  - Load the dtb on top of the ATAGS.

Unless I'm missing something, I don't see a clean way of supporting this
that doesn't involve the kernel being able to parse the ATAGS as well.

David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  parent reply	other threads:[~2011-06-13 23:04 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-12  6:06 [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage Nicolas Pitre
2011-06-12  6:06 ` Nicolas Pitre
2011-06-12  6:06 ` [PATCH 1/3] ARM: zImage: ensure it is always a multiple of 64 bits in size Nicolas Pitre
2011-06-12  6:06   ` Nicolas Pitre
2011-06-13 10:43   ` Tony Lindgren
2011-06-13 10:43     ` Tony Lindgren
2011-06-13 11:24   ` Russell King - ARM Linux
2011-06-13 11:24     ` Russell King - ARM Linux
2011-06-13 14:06     ` Nicolas Pitre
2011-06-13 14:06       ` Nicolas Pitre
2011-06-12  6:06 ` [PATCH 2/3] ARM: zImage: Allow the appending of a device tree binary Nicolas Pitre
2011-06-12  6:06   ` Nicolas Pitre
2011-06-12 15:01   ` Grant Likely
2011-06-12 15:01     ` Grant Likely
2011-06-13 10:46   ` Tony Lindgren
2011-06-13 10:46     ` Tony Lindgren
2011-06-13 11:26     ` Russell King - ARM Linux
2011-06-13 11:26       ` Russell King - ARM Linux
2011-06-13 14:08       ` Nicolas Pitre
2011-06-13 14:08         ` Nicolas Pitre
2011-06-12  6:06 ` [PATCH 3/3] ARM: zImage: make sure appended DTB doesn't get overwritten by kernel .bss Nicolas Pitre
2011-06-12  6:06   ` Nicolas Pitre
2011-06-13 10:47   ` Tony Lindgren
2011-06-13 10:47     ` Tony Lindgren
2011-06-12  8:15 ` [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage Russell King - ARM Linux
2011-06-12  8:15   ` Russell King - ARM Linux
2011-06-12  8:34   ` Shawn Guo
2011-06-12  8:34     ` Shawn Guo
2011-06-12  9:21     ` Russell King - ARM Linux
2011-06-12  9:21       ` Russell King - ARM Linux
2011-06-12  9:38       ` Shawn Guo
2011-06-12  9:38         ` Shawn Guo
2011-06-12  9:52         ` Russell King - ARM Linux
2011-06-12  9:52           ` Russell King - ARM Linux
2011-06-12 10:42           ` Shawn Guo
2011-06-12 10:42             ` Shawn Guo
2011-06-12 10:40             ` Russell King - ARM Linux
2011-06-12 10:40               ` Russell King - ARM Linux
2011-06-13 20:19               ` Dmitry Eremin-Solenikov
2011-06-13 23:04               ` David Brown [this message]
2011-06-13 23:04                 ` David Brown
2011-06-13 23:13                 ` Nicolas Pitre
2011-06-13 23:13                   ` Nicolas Pitre
2011-06-14  7:09                   ` Nicolas Pitre
2011-06-14  7:09                     ` Nicolas Pitre
2011-06-14 11:25                     ` Shawn Guo
2011-06-14 11:25                       ` Shawn Guo
2011-06-14 14:53                     ` Tony Lindgren
2011-06-14 14:53                       ` Tony Lindgren
2011-06-14 17:28                       ` Nicolas Pitre
2011-06-14 17:28                         ` Nicolas Pitre
2011-06-14 20:32                         ` Arnd Bergmann
2011-06-14 20:32                           ` Arnd Bergmann
2011-06-14 21:21                           ` Nicolas Pitre
2011-06-14 21:21                             ` Nicolas Pitre
2011-06-14 21:42                             ` Arnd Bergmann
2011-06-14 21:42                               ` Arnd Bergmann
2011-06-14 22:06                               ` Grant Likely
2011-06-14 22:06                                 ` Grant Likely
2011-06-15  8:08                                 ` Tony Lindgren
2011-06-15  8:08                                   ` Tony Lindgren
2011-06-14 22:32                           ` Rob Herring
2011-06-14 22:32                             ` Rob Herring
2011-06-14 23:50                             ` Nicolas Pitre
2011-06-14 23:50                               ` Nicolas Pitre
2011-06-15  2:09                               ` Rob Herring
2011-06-15  2:09                                 ` Rob Herring
2011-06-15  2:21                                 ` Nicolas Pitre
2011-06-15  2:21                                   ` Nicolas Pitre
2011-06-14 21:38                     ` David Brown
2011-06-14 21:38                       ` David Brown
2011-06-14 23:27                     ` [PATCH] Support multiple MEM tags with atags->fdt conversion David Brown
2011-06-14 23:27                       ` David Brown
2011-06-15 19:50                       ` Nicolas Pitre
2011-06-15 19:50                         ` Nicolas Pitre
2011-06-15 20:15                         ` David Brown
2011-06-15 20:15                           ` David Brown
2011-06-15 20:20                           ` Nicolas Pitre
2011-06-15 20:20                             ` Nicolas Pitre
2011-06-16  1:43                         ` David Gibson
2011-06-16  1:43                           ` David Gibson
2011-06-20  4:03                           ` Nicolas Pitre
2011-06-20  4:03                             ` Nicolas Pitre
2011-06-20  4:53                             ` David Gibson
2011-06-20  4:53                               ` David Gibson
2011-06-17 20:23                         ` David Brown
2011-06-17 20:23                           ` David Brown
2011-06-12 11:22     ` [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage Petr Štetiar
2011-06-12 11:22       ` Petr Štetiar
2011-06-12 11:58       ` Russell King - ARM Linux
2011-06-12 11:58         ` Russell King - ARM Linux
2011-06-12 14:15         ` Arnd Bergmann
2011-06-12 14:15           ` Arnd Bergmann
2011-06-12 14:34           ` Russell King - ARM Linux
2011-06-12 14:34             ` Russell King - ARM Linux
2011-06-12 15:01             ` Arnd Bergmann
2011-06-12 15:01               ` Arnd Bergmann
2011-06-12 15:35               ` Russell King - ARM Linux
2011-06-12 15:35                 ` Russell King - ARM Linux
2011-06-12 15:45                 ` Nicolas Pitre
2011-06-12 15:45                   ` Nicolas Pitre
2011-06-13 20:24                 ` Dmitry Eremin-Solenikov
2011-06-13 22:05                   ` Russell King - ARM Linux
2011-06-13 23:33                     ` Grant Likely
2011-06-12 14:57           ` Grant Likely
2011-06-12 14:57             ` Grant Likely
2011-06-12 15:19             ` Russell King - ARM Linux
2011-06-12 15:19               ` Russell King - ARM Linux
2011-06-12 15:47               ` Nicolas Pitre
2011-06-12 15:47                 ` Nicolas Pitre
2011-06-12 15:59                 ` Russell King - ARM Linux
2011-06-12 15:59                   ` Russell King - ARM Linux
2011-06-12 18:59                   ` Nicolas Pitre
2011-06-12 18:59                     ` Nicolas Pitre
2011-06-13  9:51                     ` Tony Lindgren
2011-06-13  9:51                       ` Tony Lindgren
2011-06-13 14:14                       ` Nicolas Pitre
2011-06-13 14:14                         ` Nicolas Pitre
2011-06-13 14:20                         ` Russell King - ARM Linux
2011-06-13 14:20                           ` Russell King - ARM Linux
2011-06-13 15:02                           ` Tony Lindgren
2011-06-13 15:02                             ` Tony Lindgren
2011-06-13 15:14                           ` Nicolas Pitre
2011-06-13 15:14                             ` Nicolas Pitre
2011-06-13 15:17                             ` Grant Likely
2011-06-13 15:17                               ` Grant Likely
2011-06-12 19:26                   ` Warner Losh
2011-06-12 19:26                     ` Warner Losh
2011-06-13  9:59                   ` Tony Lindgren
2011-06-13  9:59                     ` Tony Lindgren
2011-06-12 15:41         ` Nicolas Pitre
2011-06-12 15:41           ` Nicolas Pitre
2011-06-14  0:13           ` David Brown
2011-06-14  0:13             ` David Brown
2011-09-06 11:23             ` Linus Walleij
2011-09-06 11:23               ` Linus Walleij
2011-06-21  1:40       ` David Gibson
2011-06-21  1:40         ` David Gibson
2011-06-13  4:31 ` Grant Likely
2011-06-13  4:31   ` Grant Likely
2011-06-13 20:44   ` Nicolas Pitre
2011-06-13 20:44     ` Nicolas Pitre
2011-09-05 15:43     ` Tony Lindgren
2011-09-05 15:43       ` Tony Lindgren
2011-09-05 19:32       ` Nicolas Pitre
2011-09-05 19:32         ` Nicolas Pitre

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=8yaaadlfi3q.fsf@huya.qualcomm.com \
    --to=davidb@codeaurora.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.