devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
To: Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	glikely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCHv3] ARM:boot:device tree: Allow the device tree binary to be appended to zImage
Date: Fri, 29 Apr 2011 03:26:23 -0700	[thread overview]
Message-ID: <20110429102623.GX3755@atomide.com> (raw)
In-Reply-To: <20110427144335.GK3755-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>

* Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> [110427 07:41]:
> * Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org> [110427 07:37]:
> > On Wed, 27 Apr 2011, Tony Lindgren wrote:
> > > 
> > > I guess the issue is that when setup_machine_fdt gets called we only
> > > have minimal MMU mapping done.
> > 
> > In head.S (the final kernel image one) there is a 1MB mapping 
> > established when r2 contains a valid ATAG/DTB pointer.  See commit 
> > 4d901c42 (you even ACK'd it).
> 
> Yeah thanks was just looking at that too :) Need to debug further..

OK figured this one out. Looks like we have an issue where kernel BSS
can easily overlap the appended DT data. Then kernel __mmap_switched
will clear the BSS and DT data.

This happens for example with omap2plus_defconfig where we have:

$ stat -c "%s" arch/arm/boot/Image
6405100

$ size kernel/built-in.o 
   text    data     bss     dec     hex filename
 660576  110852 5475500 6246928  5f5210 kernel/built-in.o

If the compressed image is smaller than BSS, then we end up
having DT data in the BSS area. In this case the compressed
image is about 2.3 MB for LZMA.

The uncompress code does not know about the kernel BSS,
and does not necessarily relocate anything depending on the
compressed image load address.

So in which code do we want to relocate the DT data?

We could do it based on estimated BSS size in uncompress code,
or based on the real BSS size in __mmap_switched before BSS
gets reset.

Cheers,

Tony

  parent reply	other threads:[~2011-04-29 10:26 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-24 23:18 [PATCHv3] ARM:boot:device tree: Allow the device tree binary to be appended to zImage John Bonesio
2011-03-24 23:37 ` Nicolas Pitre
2011-03-28  9:13 ` Shawn Guo
2011-04-13 14:00   ` Tony Lindgren
     [not found]     ` <20110413140030.GE12665-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-20  5:47       ` Shawn Guo
     [not found]         ` <20110420054746.GA31127-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-04-20  7:34           ` Shawn Guo
     [not found]             ` <20110420073445.GB31127-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-04-21  8:02               ` Tony Lindgren
     [not found]                 ` <20110421080238.GE13688-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-21 12:46                   ` Tony Lindgren
2011-04-27 14:23                     ` Tony Lindgren
     [not found]                       ` <20110427142306.GI3755-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-27 14:38                         ` Tony Lindgren
2011-04-27 14:40                         ` Nicolas Pitre
     [not found]                           ` <alpine.LFD.2.00.1104271036520.24613-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-04-27 14:43                             ` Tony Lindgren
     [not found]                               ` <20110427144335.GK3755-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-29 10:26                                 ` Tony Lindgren [this message]
     [not found]                                   ` <20110429102623.GX3755-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-29 13:02                                     ` Grant Likely
     [not found]                                       ` <BANLkTi=jcb8Piki6RrijGOQG=wJ=ULv5Gw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-04-29 13:08                                         ` Grant Likely
2011-04-29 13:09                                         ` Tony Lindgren
     [not found]                                           ` <20110429130939.GB3755-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-04-29 13:21                                             ` Nicolas Pitre
2011-04-29 13:16                                     ` Nicolas Pitre
2011-04-29 13:53                                       ` Russell King - ARM Linux
     [not found]                                         ` <20110429135334.GR5126-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-04-29 19:14                                           ` Nicolas Pitre
     [not found]                                             ` <alpine.LFD.2.00.1104291509540.24613-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-05-04  7:23                                               ` Tony Lindgren
     [not found]                                                 ` <20110504072317.GU2092-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-05-04 13:12                                                   ` Tony Lindgren
2011-05-04 13:38                                                   ` Nicolas Pitre
     [not found]                                                     ` <alpine.LFD.2.00.1105040936040.24613-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-05-09 11:19                                                       ` [PATCH] ARM: Make sure appended device tree data won't overlap kernel BSS Tony Lindgren
     [not found]                                                         ` <20110509111929.GA11410-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-05-09 14:49                                                           ` Tony Lindgren
     [not found]                                                             ` <20110509144949.GE30958-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-05-12 12:59                                                               ` Tony Lindgren
     [not found]                                                                 ` <20110512125952.GN31483-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-05-13  7:39                                                                   ` Nicolas Pitre
     [not found]                                                                     ` <alpine.LFD.2.00.1105130930330.2762-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-05-13 11:21                                                                       ` Tony Lindgren
     [not found]                                                                         ` <20110513112120.GO31483-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-05-13 13:09                                                                           ` Nicolas Pitre
     [not found]                                                                             ` <alpine.LFD.2.00.1105131507150.5787-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-05-13 13:28                                                                               ` Tony Lindgren
     [not found]                                                                                 ` <20110513132802.GU31483-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-06-07 12:43                                                                                   ` Tony Lindgren
     [not found]                                                                                     ` <20110607124311.GE8696-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-06-07 13:14                                                                                       ` Nicolas Pitre
     [not found]                                                                                         ` <alpine.LFD.2.00.1106070914050.2142-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-06-07 13:22                                                                                           ` Tony Lindgren
2011-06-12  6:14                                                                           ` Nicolas Pitre
     [not found]                                                                             ` <alpine.LFD.2.00.1106120209450.2142-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-06-13 10:49                                                                               ` Tony Lindgren
2011-05-09 11:23 ` [PATCHv3] ARM:boot:device tree: Allow the device tree binary to be appended to zImage Tony Lindgren

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=20110429102623.GX3755@atomide.com \
    --to=tony-4v6ys6ai5vpbdgjk7y7tuq@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=glikely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=nico-vtqb6HGKxmzR7s880joybQ@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).