aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/setup.c
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2006-04-10 21:32:35 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-04-10 21:32:35 +0100
commitadeff42236aec0601ec979d1a41cd6d9cf5a8c05 (patch)
tree52691b790e036de0a4f311f6ecef84f66a6796ae /arch/arm/kernel/setup.c
parent[ARM] 3469/1: S3C24XX: clkout missing hclk selector (diff)
downloadlinux-dev-adeff42236aec0601ec979d1a41cd6d9cf5a8c05.tar.xz
linux-dev-adeff42236aec0601ec979d1a41cd6d9cf5a8c05.zip
[ARM] 3470/1: Clear the HWCAP bits for the disabled kernel features
Patch from Catalin Marinas Glibc interprets the HWCAP bits and decides on what features to use. However, even if the features are present in the hardware, they are not always supported by the kernel and hence the corresponding bits have to be cleared from the elf_hwcap variable. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to '')
-rw-r--r--arch/arm/kernel/setup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 437528403959..8cff73e668b3 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -322,6 +322,12 @@ static void __init setup_processor(void)
sprintf(system_utsname.machine, "%s%c", list->arch_name, ENDIANNESS);
sprintf(elf_platform, "%s%c", list->elf_name, ENDIANNESS);
elf_hwcap = list->elf_hwcap;
+#ifndef CONFIG_ARM_THUMB
+ elf_hwcap &= ~HWCAP_THUMB;
+#endif
+#ifndef CONFIG_VFP
+ elf_hwcap &= ~HWCAP_VFP;
+#endif
cpu_proc_init();
}