From mboxrd@z Thu Jan 1 00:00:00 1970 From: vladimir.murzin@arm.com (Vladimir Murzin) Date: Wed, 30 Nov 2016 10:01:52 +0000 Subject: [RFC v2 PATCH 23/23] ARM: Allow ARCH_MULTIPLATFORM to be selected for NOMMU In-Reply-To: <20161129172234.GY14217@n2100.armlinux.org.uk> References: <1480423205-48436-1-git-send-email-vladimir.murzin@arm.com> <1480423205-48436-24-git-send-email-vladimir.murzin@arm.com> <20161129172234.GY14217@n2100.armlinux.org.uk> Message-ID: <583EA390.7000705@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 29/11/16 17:22, Russell King - ARM Linux wrote: > 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 >> Cc: Ryan Mallon >> Cc: Tony Lindgren >> Cc: Thierry Reding >> Cc: Alexander Shiyan >> Cc: Shawn Guo >> Cc: Sascha Hauer >> Cc: Fabio Estevam >> Cc: Linus Walleij >> Cc: Russell King >> Signed-off-by: Vladimir Murzin >> --- >> 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. > Yes I can: "System Type" -> "ARM system type" -> "Allow multiple platforms to be selected" -> "?". Probably not the best place, but I failed to find anything better :( Cheers Vladimir