All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage
Date: Tue, 14 Jun 2011 22:32:01 +0200	[thread overview]
Message-ID: <201106142232.02217.arnd@arndb.de> (raw)
In-Reply-To: <alpine.LFD.2.00.1106141322530.2142@xanadu.home>

On Tuesday 14 June 2011 19:28:49 Nicolas Pitre wrote:
> On Tue, 14 Jun 2011, Tony Lindgren wrote:
> 
> > * Nicolas Pitre <nicolas.pitre@linaro.org> [110614 00:04]:
> > > +
> > > +   for_each_tag(atag, atag_list) {
> > > +           if (atag->hdr.tag == ATAG_CMDLINE) {
> > > +                   setprop_string(dt, "/chosen", "bootargs",
> > > +                                     atag->u.cmdline.cmdline);
> > > +           } else if (atag->hdr.tag == ATAG_MEM) {
> > > +                   uint32_t mem_reg_property[2];
> > > +                   mem_reg_property[0] = cpu_to_fdt32(atag->u.mem.start);
> > > +                   mem_reg_property[1] = cpu_to_fdt32(atag->u.mem.size);
> > > +                   setprop(dt, "/memory", "reg", mem_reg_property,
> > > +                              sizeof(mem_reg_property));
> > > +           } else if (atag->hdr.tag == ATAG_INITRD2) {
> > > +                   uint32_t initrd_start, initrd_size;
> > > +                   initrd_start = atag->u.initrd.start;
> > > +                   initrd_size = atag->u.initrd.size;
> > > +                   setprop_cell(dt, "/chosen", "linux,initrd-start",
> > > +                                   initrd_start);
> > > +                   setprop_cell(dt, "/chosen", "linux,initrd-end",
> > > +                                   initrd_start + initrd_size);
> > > +           }
> > > +   }
> > 
> > I think Russell posted a complete list of the ATAGs to translate
> > somewhere, but at least ATAG_REVISION is missing here. That's being
> > used quite a bit as system_rev to set things dynamically.
> 
> No problem.  This is a work in progress.  We still can test the concept 
> and fine tune the actual set of ATAGs being translated.

Let's talk about the revision field now, because it doesn't have a
direct correspondence in existing attributes.

Functionality-wise, this would probably be the "compatible" property
of the root node, with its most specific name to match, but that's not
trivial to generate.

In some cases, the system revisions have significant differences in their
devices (why else would you care about the revision), which means that you
actually need a different device tree per revision anyway. If that's the
common case, we could just ignore it completely or instead have a way
to choose a specific device tree from a list based on the revision.

Another option would be to merge both the ATAG_REVISION and ATAG_SERIAL
into a string and put them into the root "serial-number" property that
is fairly easy to do, but would be harder to parse if you actually rely
on specific values.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Tony Lindgren <tony@atomide.com>,
	devicetree-discuss@lists.ozlabs.org,
	John Bonesio <bones@secretlab.ca>,
	David Brown <davidb@codeaurora.org>,
	Shawn Guo <shawn.guo@freescale.com>
Subject: Re: [PATCH 0/3] patches to allow DTB to be appended to the ARM zImage
Date: Tue, 14 Jun 2011 22:32:01 +0200	[thread overview]
Message-ID: <201106142232.02217.arnd@arndb.de> (raw)
In-Reply-To: <alpine.LFD.2.00.1106141322530.2142@xanadu.home>

On Tuesday 14 June 2011 19:28:49 Nicolas Pitre wrote:
> On Tue, 14 Jun 2011, Tony Lindgren wrote:
> 
> > * Nicolas Pitre <nicolas.pitre@linaro.org> [110614 00:04]:
> > > +
> > > +   for_each_tag(atag, atag_list) {
> > > +           if (atag->hdr.tag == ATAG_CMDLINE) {
> > > +                   setprop_string(dt, "/chosen", "bootargs",
> > > +                                     atag->u.cmdline.cmdline);
> > > +           } else if (atag->hdr.tag == ATAG_MEM) {
> > > +                   uint32_t mem_reg_property[2];
> > > +                   mem_reg_property[0] = cpu_to_fdt32(atag->u.mem.start);
> > > +                   mem_reg_property[1] = cpu_to_fdt32(atag->u.mem.size);
> > > +                   setprop(dt, "/memory", "reg", mem_reg_property,
> > > +                              sizeof(mem_reg_property));
> > > +           } else if (atag->hdr.tag == ATAG_INITRD2) {
> > > +                   uint32_t initrd_start, initrd_size;
> > > +                   initrd_start = atag->u.initrd.start;
> > > +                   initrd_size = atag->u.initrd.size;
> > > +                   setprop_cell(dt, "/chosen", "linux,initrd-start",
> > > +                                   initrd_start);
> > > +                   setprop_cell(dt, "/chosen", "linux,initrd-end",
> > > +                                   initrd_start + initrd_size);
> > > +           }
> > > +   }
> > 
> > I think Russell posted a complete list of the ATAGs to translate
> > somewhere, but at least ATAG_REVISION is missing here. That's being
> > used quite a bit as system_rev to set things dynamically.
> 
> No problem.  This is a work in progress.  We still can test the concept 
> and fine tune the actual set of ATAGs being translated.

Let's talk about the revision field now, because it doesn't have a
direct correspondence in existing attributes.

Functionality-wise, this would probably be the "compatible" property
of the root node, with its most specific name to match, but that's not
trivial to generate.

In some cases, the system revisions have significant differences in their
devices (why else would you care about the revision), which means that you
actually need a different device tree per revision anyway. If that's the
common case, we could just ignore it completely or instead have a way
to choose a specific device tree from a list based on the revision.

Another option would be to merge both the ATAG_REVISION and ATAG_SERIAL
into a string and put them into the root "serial-number" property that
is fairly easy to do, but would be harder to parse if you actually rely
on specific values.

	Arnd

  reply	other threads:[~2011-06-14 20:32 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
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 [this message]
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=201106142232.02217.arnd@arndb.de \
    --to=arnd@arndb.de \
    --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.