[PATCH 0/2] ARM: ARMv7 (with MMU) XIP without ARCH_MULTIPLATFORM
Chris Brandt
chris.brandt at renesas.com
Wed Feb 8 19:30:42 PST 2017
The basic idea of this series is to introduce a top level ARM_SINGLE_ARMV7 that
can be selected instead of ARCH_MULTIPLATFORM for the purpose of being able to
select XIP_KERNEL.
ARM_SINGLE_ARMV7 is not selected directly, but rather by first selecting a
specific SOC family (as opposed to the multiplatform option), then the SoC
family will select ARM_SINGLE_ARMV7.
At that point, an individual SOC device can selected which then allows them to
select XIP_KERNEL if they want to.
It is up to the SoC familiies to determine if XIP and/or ARM_SINGLE_ARMV7 makes
sence.
For this series, the Renesas SoCs allow ARM_SINGLE_ARMV7.
Particulary, the Renesas RZ/A1 (ARCH_R7S72100) was tested with both XIP_KERNEL=y
and XIP_KERNEL=n.
System Type --->
[*] MMU-based Paged Memory Management Support
-*- ARMv7 based single platforms
ARM system type (Renesas ARM SoCs)
[*] Renesas ARM SoCs --->
[*] RZ/A1H (R7S72100)
For me, I was able to come up with a .config that would produce the same
defconfig as it did before this patch series proving that ARCH_MULTIPLATFORM is
just a method in grouping configs together that could normally be selected
individually.
I would say maybe the only other thing we could add is a XIP_CAPABLE config
that is set only by each individual SoC. Then users can only select
XIP_KERNEL for SoCs that actually have a chance at working.
Something like:
[ arch/arm/mach-shmobile/Kconfig ]
config ARCH_R7S72100
bool "RZ/A1H (R7S72100)"
select PM
select PM_GENERIC_DOMAINS
select SYS_SUPPORTS_SH_MTU2
select RENESAS_OSTM
select XIP_CAPABLE
[ arch/arm/Kconifg ]
config XIP_KERNEL
bool "Kernel Execute-In-Place from ROM"
depends on !ARM_LPAE && !ARCH_MULTIPLATFORM && XIP_CAPABLE
Chris Brandt (2):
ARM: add ARM_SINGLE_ARMV7 as config option
ARM: shmobile: add renesas soc as a top level selection
arch/arm/Kconfig | 22 ++++++++++++++++++++++
arch/arm/Kconfig.debug | 6 ++++--
arch/arm/Makefile | 5 +++++
arch/arm/kernel/devtree.c | 3 ++-
arch/arm/mach-shmobile/Kconfig | 2 +-
5 files changed, 34 insertions(+), 4 deletions(-)
--
2.10.1
More information about the linux-arm-kernel
mailing list