[PATCH 4/6] ARM: mxc: don't allow to compile together i.MX51 and i.MX53

Nicolas Pitre nicolas.pitre at linaro.org
Sun May 8 11:00:30 EDT 2011


On Sun, 8 May 2011, Russell King - ARM Linux wrote:

> On Wed, May 04, 2011 at 10:48:40AM -0500, Matt Sealey wrote:
> > CONFIG_ARM_PATCH_PHYS_VIRT
> > 
> > These two config options, with absolutely no bootloader changes, will
> > basically mask off some address (instruction pointer?) at the time of
> > the check and therefore derive a perfectly good PHYS_OFFSET at runtime
> > and make sure it is in use... within some limits (first 128MB, assumes
> > that start of memory is at some particular alignment)?
> 
> The V:P fixup will only handle bits 31-24, or 31-16 if the
> ARM_PATCH_PHYS_VIRT_16BIT option is selected (for MSM).  If the offset
> doesn't wholy fit into these, then the fixup function will complain and
> your kernel won't boot.  So, it'll go down to 64K alignment.
> 
> It does rely on the kernel being placed correctly in memory.  So if the
> start of the kernel text is built to be 32K above PAGE_OFFSET, then the
> kernel will assume that physical memory starts 32K below where the
> 'Image' ended up in physical memory.  If you place the kernel in physical
> memory 16MB above the start, then it'll assume that physical memory starts
> 16MB above where it actually did.

If CONFIG_AUTO_ZRELADDR is set, then zImage will automatically place the 
kernel Image correctly in memory, assuming that zImage is itself loaded 
within the first 128MB of memory.

> There is one thing to watch out for though - if you did place it 16MB
> above, but still tell the kernel via ATAGs that the physical memory
> starts where it really does, then I'd expect things to explode as
> the kernel direct mapped memory would likely extend below PAGE_OFFSET.

Yeah... We should probably add a warning and truncate the beginning of 
the memory bank in that case.  This would also prevent memory from being 
wrongly declared below PHYS_OFFSET even without the P2V feature enabled.


Nicolas



More information about the linux-arm-kernel mailing list