Building for MMU-less vexpress targets

Nicolas Pitre nico at fluxnic.net
Tue Nov 6 15:58:12 EST 2012


On Tue, 6 Nov 2012, Arnd Bergmann wrote:

> On Tuesday 06 November 2012, Will Deacon wrote:
> > nommu-XIP kernels are a different kettle
> > of fish, but we don't care about a decompressor there.
> 
> XIP is only supported on ARCH_PXA and ARCH_SA1100. I don't see either
> of them moving to CONFIG_MULTIPLATFORM any time soon, given how much
> work that would be. ARCH_MMP should be possible in the future, but
> has never supported XIP so far.

XIP kernels (CONFIG_XIP_KERNEL) are supported on any architecture.  
This doesn't require any platform specific support.  You just need a 
range of physical memory addresses where to get the kernel text from 
(that could even be unmapped RAM if you wanted to play with it on a 
platform with no NOR flash).  The prospect of PRAM usage might renew 
interest in a XIP kernel.

Maybe you are confused by CONFIG_ARCH_MTD_XIP where special support is 
needed in order to make writable MTD devices compatible with a XIP 
kernel located on them.  That is indeed only available for ARCH_PXA and 
ARCH_SA1100.

> > The real problem will hit with things like CONFIG_DRAM_BASE, where !MMU
> > can't realistically support multiple platforms, so allowing
> > ARCH_MULTIPLATFORM doesn't feel quite right either...
> 
> Anybody who wants to build a !MMU kernel already needs to tweak the
> configuration quite a lot and usually knows more about the system than
> a typical end user. Having to pick the correct DRAM_BASE probably
> isn't too bad in that case, as long as the kernels actually build.

I really think that it makes no sense at all to support !MMU kernels in 
a multi-platform kernel build, even if the set of included platforms 
were all !MMU.  The kernel has to be linked for the physical address of 
the target and not a common invariant virtual address.


Nicolas



More information about the linux-arm-kernel mailing list