Change the minimum mmap address back to 32768 on ARM systems (thanks to Jon Masters), Add patch to fix unified kernel build failure

This commit is contained in:
Peter Robinson 2012-11-20 09:45:08 +00:00
parent ad6cd36832
commit 6d041dc4e3
4 changed files with 92 additions and 1 deletions

View File

@ -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 <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

View File

@ -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

View File

@ -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

View File

@ -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 <pbrobinson@fedoraproject.org>
- 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 <jwboyer@redhat.com>
- Add various patches to fix perf build on non-x86 arches