[PATCH v2 08/12] ARM: allow MULTIPLATFORM with !MMU

Rob Herring robherring2 at gmail.com
Tue Dec 30 13:42:29 PST 2014


On Mon, Dec 29, 2014 at 5:32 PM, Stefan Agner <stefan at agner.ch> wrote:
> In order to support SoC with heterogenous CPU architectures (such
> as Freescale Vybrid/i.MXSX) it is preferable to use the same
> architecture (ARCH_MXC in this case) for the MMU enabled and !MMU
> CPU. Hence allow to select MULTIPLATFORM even without MMU.

This has been submitted before[1], but you obviously have a better
reason now. I also need this for my Versatile series to fix
allnoconfig. However, there are some issues with your implementation.

> Signed-off-by: Stefan Agner <stefan at agner.ch>
> ---
>  arch/arm/Kconfig | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 97d07ed..95007b9 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -228,7 +228,7 @@ config VECTORS_BASE
>           in size.
>
>  config ARM_PATCH_PHYS_VIRT
> -       bool "Patch physical to virtual translations at runtime" if EMBEDDED
> +       bool "Patch physical to virtual translations at runtime" if EMBEDDED || (ARCH_MULTIPLATFORM && MMU)
>         default y
>         depends on !XIP_KERNEL && MMU
>         depends on !ARCH_REALVIEW || !SPARSEMEM
> @@ -303,15 +303,12 @@ config MMU
>  #
>  choice
>         prompt "ARM system type"
> -       default ARCH_VERSATILE if !MMU
> -       default ARCH_MULTIPLATFORM if MMU
> +       default ARCH_MULTIPLATFORM
>
>  config ARCH_MULTIPLATFORM
>         bool "Allow multiple platforms to be selected"
> -       depends on MMU
>         select ARCH_WANT_OPTIONAL_GPIOLIB
>         select ARM_HAS_SG_CHAIN
> -       select ARM_PATCH_PHYS_VIRT
>         select AUTO_ZRELADDR
>         select CLKSRC_OF
>         select COMMON_CLK
> @@ -783,13 +780,13 @@ comment "CPU Core family selection"
>
>  config ARCH_MULTI_V4
>         bool "ARMv4 based platforms (FA526)"
> -       depends on !ARCH_MULTI_V6_V7
> +       depends on !ARCH_MULTI_V6_V7 && MMU

This is not right. !MMU does not mean the ARM arch does not have an
MMU, but rather the MMU is already setup with identity mapping (or
some other static mapping).

Rob

[1] http://patchwork.ozlabs.org/patch/278996/



More information about the linux-arm-kernel mailing list