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

Nicolas Pitre nico at fluxnic.net
Mon Sep 10 10:12:19 EDT 2012


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



More information about the linux-arm-kernel mailing list