aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2016-09-23 15:14:46 +1000
committerGreg Ungerer <gerg@linux-m68k.org>2024-05-07 08:54:45 +1000
commit39256c7b7e5ad14844df61fa35845a3671db4067 (patch)
treea1d1e1056b9fe3250088fef7b463d5b86ddc4966
parent038f9fa86853659f851952da7288dbe98d0c264f (diff)
downloadm68knommu-armnommu.tar.gz
ARM: versatile: support configuring versatile machine for no-MMUarmnommu
Allow the arm versatile machine to be configured for no-MMU operation. Older kernels had the ability to build the versatile machine with the MMU disabled (!CONFIG_MMU). Recent changes to convert the versatile machine to device tree lost this ability. (Although older kernels could be built they did not run due to a bug in the IO_ADDRESS() mapping on this machine). The motivation for this is that the versatile machine is well supported in qemu. And this provides an excellent platform for development and testing no-MMU support on ARM in general. Currently the non-MMU support is only for ARM V7 CPU machines, so this change extends support only to the ARM 926T based Versatile machines. There is no visible change to the way Versatile is selected for the MMU enabled case. Signed-off-by: Greg Ungerer <gerg@kernel.org>
-rw-r--r--arch/arm/Kconfig13
-rw-r--r--arch/arm/mach-versatile/Kconfig2
2 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b14aed3a17abb6..f5aac1b3b6d401 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -314,12 +314,23 @@ config MMU
Select if you want MMU-based virtualised addressing space
support by paged memory management. If unsure, say 'Y'.
+choice
+ prompt "ARM system type"
+ depends on !MMU
+ default ARM_SINGLE_ARMV7M
+
config ARM_SINGLE_ARMV7M
- def_bool !MMU
+ bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
select ARM_NVIC
select CPU_V7M
select NO_IOPORT_MAP
+config ARM_SINGLE_VERSATILE
+ bool "Versatile based platform"
+ select CPU_ARM926T
+
+endchoice
+
config ARCH_MMAP_RND_BITS_MIN
default 8
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
index e029270c2687d9..83c1f46e513951 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
config ARCH_VERSATILE
bool "ARM Ltd. Versatile family"
- depends on ARCH_MULTI_V5
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_VERSATILE
depends on CPU_LITTLE_ENDIAN
select ARM_AMBA
select ARM_TIMER_SP804