Building for MMU-less vexpress targets

Will Deacon will.deacon at arm.com
Tue Nov 6 13:34:44 EST 2012


On Tue, Nov 06, 2012 at 05:33:44PM +0000, 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.

Indeed, although I expect systems with M-class CPUs to make more use of XIP
(I believe Uwe's board does this and uses the framebuffer for main memory).

> > 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.

Ok, that's fair enough. Patch below.

Cheers,

Will

--->8

    ARM: nommu: remove MMU dependency from ARCH_MULTIPLATFORM
    
    ARCH_MULTIPLATFORM is the only way to select ARCH_VEXPRESS, so remove
    the dependency on MMU and instead use it to predicate the selection of
    ARM_PATCH_PHYS_VIRT.
    
    Although running a multi-platform kernel on a selection of MMU-less
    targets might not yet be possible, the thing should build and targetting
    a nommu platform is already a fairly involved exercise.
    
    Cc: Arnd Bergmann <arnd at arndb.de>
    Cc: Pawel Moll <Pawel.Moll at arm.com>
    Signed-off-by: Will Deacon <will.deacon at arm.com>

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 335e220..5758cfb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -264,8 +264,7 @@ choice
 
 config ARCH_MULTIPLATFORM
        bool "Allow multiple platforms to be selected"
-       depends on MMU
-       select ARM_PATCH_PHYS_VIRT
+       select ARM_PATCH_PHYS_VIRT if MMU
        select AUTO_ZRELADDR
        select COMMON_CLK
        select MULTI_IRQ_HANDLER




More information about the linux-arm-kernel mailing list