[RFC v2 PATCH 23/23] ARM: Allow ARCH_MULTIPLATFORM to be selected for NOMMU

Russell King - ARM Linux linux at armlinux.org.uk
Tue Nov 29 09:22:35 PST 2016


On Tue, Nov 29, 2016 at 12:40:05PM +0000, Vladimir Murzin wrote:
> With this patch applied potentially any platform can be built in NOMMU
> configurations if CONFIG_EXPERT is selected. However, there is no
> guaranty that platform can successfully run such Image. So the main

guarantee

> motivation behind of this patch:
> - bring build coverage for NOMMU configurations
> - allow known working NOMMU platforms (like R-class) to be used
> - pave a way to add support for single address space (aka 1:1 mapping)
>   for MMU platforms, so they can be usable in NOMMU configurations
> 
> Cc: Hartley Sweeten <hsweeten at visionengravers.com>
> Cc: Ryan Mallon <rmallon at gmail.com>
> Cc: Tony Lindgren <tony at atomide.com>
> Cc: Thierry Reding <thierry.reding at gmail.com>
> Cc: Alexander Shiyan <shc_work at mail.ru>
> Cc: Shawn Guo <shawnguo at kernel.org>
> Cc: Sascha Hauer <kernel at pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: Russell King <linux at armlinux.org.uk>
> Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
> ---
>  arch/arm/Kconfig |   21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e78c822..bc6f406 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -327,9 +327,9 @@ choice
>  
>  config ARCH_MULTIPLATFORM
>  	bool "Allow multiple platforms to be selected"
> -	depends on MMU
> +	depends on MMU || EXPERT
>  	select ARM_HAS_SG_CHAIN
> -	select ARM_PATCH_PHYS_VIRT
> +	select ARM_PATCH_PHYS_VIRT if MMU
>  	select AUTO_ZRELADDR
>  	select CLKSRC_OF
>  	select COMMON_CLK
> @@ -339,6 +339,23 @@ config ARCH_MULTIPLATFORM
>  	select PCI_DOMAINS if PCI
>  	select SPARSE_IRQ
>  	select USE_OF
> +	help
> +	  Please, read carefully if you've selected CONFIG_MMU=n!
> +
> +	  Multiplatform with !MMU configuration *is not* meant that
> +	  kernel built to support every platform will boot on them. It
> +	  is because physical address space layouts (particularly where
> +	  RAM is located) are different between platforms and there is
> +	  no MMU to work that around.
> +
> +	  You must specify where RAM start (via DRAM_BASE config
> +	  option) and appropriate size of RAM (via DRAM_SIZE config
> +	  option) which are valid for the platform you are building
> +	  for.
> +
> +	  This feature is *EXPERIMENTAL*, please, consider building
> +	  with CONFIG_MMU=y unless you know what you do or want to
> +	  help with testing.

Do you actually see this help text anywhere?  I don't think multiple-choice
options show help for individual choices.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.



More information about the linux-arm-kernel mailing list