Re: [PATCH v3 02/31] arm64: Kernel booting and initialisation

From: Nicolas Pitre
Date: Mon Sep 10 2012 - 10:12:16 EST


On Mon, 10 Sep 2012, Arnd Bergmann wrote:

> On Monday 10 September 2012, Catalin Marinas wrote:
> > On Mon, Sep 10, 2012 at 06:53:39AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > On 19:29 Sun 09 Sep , Nicolas Pitre wrote:
> > > > On Sun, 9 Sep 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > > > On 17:26 Fri 07 Sep , Catalin Marinas wrote:
> > > > > > +The image must be placed at the specified offset (currently 0x80000)
> > > > > > +from the start of the system RAM and called there. The start of the
> > > > > > +system RAM must be aligned to 2MB.
> > > > > can we drop this
> > > >
> > > > Drop what?
> > > > And why?
> > > This contrain the must be loadable at any address
> >
> > You can't easily load the kernel image at any address, unless it can
> > relocate itself and you have a way to specify PHYS_OFFSET. We don't want
> > a compile-time PHYS_OFFSET, the kernel detects it at boot time based on
> > the load address.
>
> I think a bunch of other architectures can have relocatable kernels, which
> is useful e.g. for kdump. It does imply a small runtime cost and may have
> other disadvantages though.

Relocatable in physical space is what kdump actually needs, and that's
what we already have here (as well as on ARM32 for that matter with
CONFIG_ARM_PATCH_PHYS_VIRT). Relocatable in the virtual space is costly
and we shouldn't need to go there.


Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/