diff --git a/arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch b/arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch new file mode 100644 index 000000000..fd92c1664 --- /dev/null +++ b/arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch @@ -0,0 +1,80 @@ +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 +X-Patchwork-Id: 1224201 +Message-Id: <201207221001.43528.arnd@arndb.de> +To: Fengguang Wu +Cc: Russell King , + LKML , 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 + + +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 diff --git a/config-arm-generic b/config-arm-generic index 26565ccbb..b6be5388a 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -37,7 +37,6 @@ CONFIG_ARM_ERRATA_742231=y CONFIG_ARM_ERRATA_754327=y CONFIG_ARM_ERRATA_764369=y - # Generic ARM config options CONFIG_ZBOOT_ROM_TEXT=0 CONFIG_ZBOOT_ROM_BSS=0 @@ -74,6 +73,9 @@ CONFIG_SUSPEND=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_LSM_MMAP_MIN_ADDR=32768 + # CONFIG_XEN is not set CONFIG_THERMAL=y diff --git a/config-armv7 b/config-armv7 index 22eeb25a0..299e1428b 100644 --- a/config-armv7 +++ b/config-armv7 @@ -88,6 +88,9 @@ CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_LSM_MMAP_MIN_ADDR=32768 + CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y diff --git a/kernel.spec b/kernel.spec index 33e9b927e..5e6030afa 100644 --- a/kernel.spec +++ b/kernel.spec @@ -741,6 +741,7 @@ Patch19001: i82975x-edac-fix.patch # ARM Patch21000: arm-export-read_current_timer.patch +Patch21001: arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch # OMAP Patch21003: arm-omapdrm-fixinc.patch @@ -1342,6 +1343,7 @@ ApplyPatch vmbugon-warnon.patch # ARM # ApplyPatch arm-export-read_current_timer.patch +ApplyPatch arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch ApplyPatch arm-omapdrm-fixinc.patch ApplyPatch arm-tegra-nvec-kconfig.patch ApplyPatch arm-tegra-usb-no-reset-linux33.patch @@ -2345,6 +2347,10 @@ fi # ||----w | # || || %changelog +* Tue Nov 20 2012 Peter Robinson +- Change the minimum mmap address back to 32768 on ARM systems (thanks to Jon Masters) +- Add patch to fix unified kernel build failure + * Mon Nov 19 2012 Josh Boyer - Add various patches to fix perf build on non-x86 arches