Requirements for FDT load address on ARM
Ian Campbell
Ian.Campbell at citrix.com
Mon Jul 29 04:44:30 EDT 2013
On Wed, 2013-07-24 at 17:27 -0400, Nicolas Pitre wrote:
> On Wed, 24 Jul 2013, Ian Campbell wrote:
>
> > On Wed, 2013-07-24 at 11:24 -0400, Nicolas Pitre wrote:
> > > On Wed, 24 Jul 2013, Ian Campbell wrote:
> > >
> > > > [apologies if this is a repeat, I don't see it in the archives and at
> > > > least one CC'd recipient (Julien) didn't receive it either. Beasties in
> > > > our email server I expect...]
> > > >
> > > > Are there any requirements about where the FDT may be loaded by the
> > > > bootloader?
> > >
> > > It must be located where it is unlikely to be overwritten by the zImage
> > > decompressor relocating itself. Same goes for the initrd.
> >
> > Right. That's a bit hard to determine programmaticaly from a bootloader
> > though :-(
>
> Well... The kernel has to be loaded in the first 128MB of RAM for the
> automatic RAM location to work. So you simply have to load the ftd and
> initrd sequentially above the 128MB mark. The kernel cannot grow above
> 16MB in size or we lose the ability to link modules without far calls,
> or 32MB for the kernel itself after wich the kernel itself doesn't link.
> This means the decompressor will never relocate anything above the 128MB
> mark in any case.
Thanks, that's good info, I shall incorporate it in some way into the
patch (which I'll write as soon as I deal with this post-travel email
backlog!)
> In practice this limit can even be lowered to 64MB.
I like 128M, nice and conservative ;-)
Ian.
More information about the linux-arm-kernel
mailing list