[ARM] 3470/1: Clear the HWCAP bits for the disabled kernel features
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 10 Apr 2006 20:32:35 +0000 (21:32 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 10 Apr 2006 20:32:35 +0000 (21:32 +0100)
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>
arch/arm/kernel/setup.c

index 4375284039595f93f2ce9cf91b27abd3fb677375..8cff73e668b38be7d93d448c44d5f731e3452eac 100644 (file)
@@ -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();
 }