81 lines
3.1 KiB
Diff
81 lines
3.1 KiB
Diff
|
From patchwork Sun Jul 22 10:01:43 2012
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
Subject: arm-allnoconfig error: '__LINUX_ARM_ARCH__' undeclared
|
||
|
Date: Sun, 22 Jul 2012 10:01:43 -0000
|
||
|
From: Arnd Bergmann <arnd@arndb.de>
|
||
|
X-Patchwork-Id: 1224201
|
||
|
Message-Id: <201207221001.43528.arnd@arndb.de>
|
||
|
To: Fengguang Wu <fengguang.wu@intel.com>
|
||
|
Cc: Russell King <linux@arm.linux.org.uk>,
|
||
|
LKML <linux-kernel@vger.kernel.org>, linux-arm-kernel@lists.infradead.org
|
||
|
|
||
|
On Sunday 22 July 2012, Fengguang Wu wrote:
|
||
|
> Kernel build failed on arm-allnoconfig:
|
||
|
>
|
||
|
> include/linux/math64.h:55:15: error: '__LINUX_ARM_ARCH__' undeclared (first use in this function)
|
||
|
> arch/arm/include/asm/glue-cache.h:129:2: error: #error Unknown cache maintenance model
|
||
|
> arch/arm/include/asm/glue-df.h:99:2: error: #error Unknown data abort handler type
|
||
|
> arch/arm/include/asm/glue-pf.h:54:2: error: #error Unknown prefetch abort handler type
|
||
|
>
|
||
|
> Do you think this allnoconfig test meaningful at all?
|
||
|
|
||
|
The allno/mod/yesconfig tests on ARM are somewhat limited in their
|
||
|
usefulness at the moment because they always pick the same platform
|
||
|
type (versatile) and don't really cover the cases that most people
|
||
|
are interested in.
|
||
|
|
||
|
The particular problem with allnoconfig is that the logic to determine
|
||
|
the architecture level depends on at least one platform being selected,
|
||
|
and there are also problems with nommu kernels that tend to not work
|
||
|
if certain other options are not set correctly.
|
||
|
|
||
|
We can make the nommu case go away if we make hide the option for
|
||
|
non-expert configurations including allnoconfig. I suggested adding
|
||
|
some logic to all the subarch Kconfig files that forces at least
|
||
|
one of the boards to be enabled like the patch below, but a number
|
||
|
of people didn't like it.
|
||
|
|
||
|
For reference, here is what I would use in order to get 'make
|
||
|
allnoconfig' to work on ARM. My impression is at the moment that
|
||
|
we should make a more serious attempt at fixing all the possible
|
||
|
configurations when we get to 'multiplatform' configurations,
|
||
|
because that will be more interesting than doing it just for
|
||
|
the versatile platform.
|
||
|
|
||
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||
|
|
||
|
|
||
|
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||
|
index a306d6d..e43e743 100644
|
||
|
--- a/arch/arm/Kconfig
|
||
|
+++ b/arch/arm/Kconfig
|
||
|
@@ -236,7 +236,7 @@ source "kernel/Kconfig.freezer"
|
||
|
menu "System Type"
|
||
|
|
||
|
config MMU
|
||
|
- bool "MMU-based Paged Memory Management Support"
|
||
|
+ bool "MMU-based Paged Memory Management Support" if EXPERT
|
||
|
default y
|
||
|
help
|
||
|
Select if you want MMU-based virtualised addressing space
|
||
|
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
|
||
|
index c1f38f6..455f20a 100644
|
||
|
--- a/arch/arm/mach-versatile/Kconfig
|
||
|
+++ b/arch/arm/mach-versatile/Kconfig
|
||
|
@@ -25,4 +25,13 @@ config MACH_VERSATILE_DT
|
||
|
Include support for the ARM(R) Versatile/PB platform,
|
||
|
using the device tree for discovery
|
||
|
|
||
|
+config MACH_VERSATILE_AUTO
|
||
|
+ def_bool y
|
||
|
+ depends on !ARCH_VERSATILE_PB
|
||
|
+ depends on !MACH_VERSATILE_AB
|
||
|
+ select MACH_VERSATILE_DT
|
||
|
+ help
|
||
|
+ We autoselect MACH_VERSATILE_DT if both PB and AB are
|
||
|
+ disabled, to ensure that at least one platform is enabled.
|
||
|
+
|
||
|
endmenu
|