diff mbox

Building for MMU-less vexpress targets

Message ID 20121106183444.GJ30931@mudshark.cambridge.arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Will Deacon Nov. 6, 2012, 6:34 p.m. UTC
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@arndb.de>
    Cc: Pawel Moll <Pawel.Moll@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>

Comments

Arnd Bergmann Nov. 6, 2012, 8:35 p.m. UTC | #1
On Tuesday 06 November 2012, Will Deacon wrote:
>     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@arndb.de>
>     Cc: Pawel Moll <Pawel.Moll@arm.com>
>     Signed-off-by: Will Deacon <will.deacon@arm.com>
> 

Acked-by: Arnd Bergmann <arnd@arndb.de>

Before we apply this, I should probably do a round of randconfig tests. Right now,
I have a series that fixes all build errors we currently get from randconfig
(which always selects MULTIPLATFORM since it doesn't randomize choice statements),
but I am pretty sure that adding NOMMU into the mix gives us a lot of new errors.

	Arnd
diff mbox

Patch

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