public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@nvidia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 3/3] image: Allow images to indicate they're loadable at any address
Date: Mon, 07 Nov 2011 14:27:34 -0700	[thread overview]
Message-ID: <4EB84D46.2070800@nvidia.com> (raw)
In-Reply-To: <20111107202633.92FE4189301B@gemini.denx.de>

(Sigh, resending again to avoid rejected MIME encoding)

On 11/07/2011 01:26 PM, Wolfgang Denk wrote:
> Dear Stephen Warren,
> 
> In message <74CDBE0F657A3D45AFBB94109FB122FF173F9A5035@HQMAIL01.nvidia.com> you wrote:
>>
>>> Your own IH_TYPE_*_REL patches are queued and will be merged soon.
>>
>> Oh. I kept pushing and pushing on these and kept meeting resistance. I
> 
> There was no resistance ever.  There were just the normal review
> comments.
> 
>> had absolutely no idea at all that there was agreement over those patches;
>> the reviews just stopped happening after you refused to look at them
> 
> If there are no further complaints that usually menas the stuff is
> sitting in the queue waiting to be processed.  Sorry, but my bandwidth
> _is_ limited.
> 
>> Anyway, I have withdrawn my support for those patches; please don't apply
>> them. In my opinion, this new solution is far superior because:
> 
> Argh... So we are back at square one.
> 
> The problem with this new approach is that Linux kernel images are NOT
> freely relocatable.  They do have a fix entry point, even if this is
> not an absolute address, but a relative one.

That's simply not true ARM Linux zImages /are/ relocatable - as far as
I'm aware, they can run from anywhere in SDRAM. I've certainly tested
loading ARM zImages at a few random locations and it works fine, and
I've been told by senior Linux kernel people that this is intentional.
(Well, there is a restriction that the image must be somewhere within
the first 128M of RAM for PATCH_PHYS_VIRT(?) to operate correctly, but
I'd still count that as been almost arbitrarily relocatable)

> The natural way to
> handle this is exactly that:  add support for images with relative
> )offset based) load and entry point addresses.
> 
> Your new approahc is indeed simpler - actually it is too simplistic,
> as you cannot record load address / entry point information any more.
> It may work when using the kernel wrapper - but what if you don't want
> to do that?

Note that the only thing that made my IH_TYPE_*_REL work was this exact
same runs-at-any-location feature of ARM zImages; there was never
anything in the kernel that allowed it to solely run at "some specific
offset from the base of SDRAM"; that was just the first way I thought of
modifying U-Boot to enable this current feature.

-- 
nvpublic

  parent reply	other threads:[~2011-11-07 21:27 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-01 16:28 [U-Boot] [PATCH v2 1/3] image: Make image_get_fdt work like image_get_{ram_disk, kernel} Stephen Warren
2011-11-01 16:28 ` [U-Boot] [PATCH v2 2/3] image: Support FDTs already loaded at their load address Stephen Warren
2012-03-06 21:18   ` Wolfgang Denk
2011-11-01 16:28 ` [U-Boot] [PATCH v2 3/3] image: Allow images to indicate they're loadable at any address Stephen Warren
2011-11-05 22:20   ` Wolfgang Denk
2011-11-07 16:56     ` Stephen Warren
2011-11-07 17:09       ` Stephen Warren
2011-11-07 19:47         ` Simon Glass
2011-11-07 20:29           ` Wolfgang Denk
2011-11-07 21:17           ` Stephen Warren
2011-11-07 22:11             ` Wolfgang Denk
2011-11-07 22:30               ` Stephen Warren
2011-11-07 23:08                 ` Wolfgang Denk
2011-11-08  0:00                   ` Stephen Warren
2011-11-08  0:27                     ` Wolfgang Denk
     [not found]     ` <74CDBE0F657A3D45AFBB94109FB122FF173F9A5035@HQMAIL01.nvidia.com>
2011-11-07 20:26       ` Wolfgang Denk
2011-11-07 21:04         ` Marek Vasut
2011-11-07 21:38           ` Stephen Warren
2011-11-07 21:59             ` Marek Vasut
2011-11-07 22:08               ` Stephen Warren
2011-11-07 22:27           ` Wolfgang Denk
2011-11-07 22:41             ` Stephen Warren
2011-11-07 23:10               ` Wolfgang Denk
2011-11-07 23:43                 ` Stephen Warren
2011-11-07 22:57             ` Nicolas Pitre
2011-11-07 23:25               ` Wolfgang Denk
2011-11-08  0:10                 ` Stephen Warren
2011-11-08  0:29                   ` Wolfgang Denk
2011-11-08  0:48                     ` Nicolas Pitre
2011-11-08  8:38                       ` Wolfgang Denk
2011-11-08 11:35                         ` Marek Vasut
2011-11-08 11:50                           ` Wolfgang Denk
2011-11-08 11:52                             ` Marek Vasut
2011-11-08 18:17                             ` Stephen Warren
     [not found]                             ` <74CDBE0F657A3D45AFBB94109FB122FF173F9A5424@HQMAIL01.nvidia.com>
2011-11-08 19:44                               ` Wolfgang Denk
2011-11-08 21:17                                 ` Wolfgang Denk
2011-11-08 22:27                                   ` Stephen Warren
2011-11-08 22:46                                     ` Wolfgang Denk
2011-11-08  0:35                 ` Nicolas Pitre
2011-11-08  1:10                   ` Simon Glass
2011-11-08  3:51                     ` Nicolas Pitre
2011-11-08  5:37                       ` Simon Glass
2011-11-08  8:45                         ` Wolfgang Denk
2011-11-08 14:22                         ` Loïc Minier
2011-11-08 14:52                       ` Jason
2011-11-08 20:18                         ` Nicolas Pitre
2011-12-10 22:42                     ` Linus Walleij
2011-12-10 22:53                       ` Wolfgang Denk
2011-12-10 23:21                         ` Linus Walleij
2011-12-12 16:25                       ` Stephen Warren
2011-11-08  8:33                   ` Wolfgang Denk
2011-11-08 14:26                     ` Nicolas Pitre
2011-11-08 15:01                       ` Marek Vasut
2011-11-08 15:59                       ` Wolfgang Denk
2011-11-08 16:57                         ` Detlev Zundel
2011-11-08 20:05                         ` Nicolas Pitre
2011-11-07 21:27         ` Stephen Warren [this message]
2011-11-07 21:41           ` Nicolas Pitre
2011-11-07 22:42             ` Wolfgang Denk
2011-11-05 18:41 ` [U-Boot] [PATCH v2 1/3] image: Make image_get_fdt work like image_get_{ram_disk, kernel} Marek Vasut
2011-11-05 19:21   ` Simon Glass
2011-11-05 19:39     ` Marek Vasut
2011-11-05 20:38       ` Simon Glass
2011-11-05 20:41         ` Marek Vasut
2011-11-05 20:49           ` Simon Glass
2011-11-05 22:15           ` Wolfgang Denk
2011-11-05 22:18             ` Marek Vasut
2011-11-05 22:06       ` Wolfgang Denk
2011-11-05 21:53     ` Wolfgang Denk
2011-11-05 22:06       ` Marek Vasut
2011-11-05 22:22         ` Wolfgang Denk
2011-11-06  4:52       ` Simon Glass
2011-11-06  8:57         ` Wolfgang Denk
2011-11-05 21:40   ` Wolfgang Denk
2011-11-05 22:06     ` Marek Vasut
2011-11-05 22:24       ` Wolfgang Denk
2011-11-05 22:38         ` Marek Vasut
2011-11-08 14:24   ` Loïc Minier
2011-11-08 16:06 ` Wolfgang Denk
2011-11-08 18:15   ` Stephen Warren
     [not found]   ` <74CDBE0F657A3D45AFBB94109FB122FF173F9A5415@HQMAIL01.nvidia.com>
2011-11-08 19:33     ` Wolfgang Denk

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=4EB84D46.2070800@nvidia.com \
    --to=swarren@nvidia.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox