diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2008-11-06 08:23:07 -0500 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2008-11-06 08:23:07 -0500 |
commit | 2bedbdf4148ebbe48c7a89449ab52e475a788f42 (patch) | |
tree | 8824fd9f1a87257187972d9395c561e2682d53bf | |
parent | 4369ae16eec16e6a922d4333da88a58fbc201369 (diff) |
Add HWCAP_NEON to the ARM hwcap.h file
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r-- | arch/arm/include/asm/hwcap.h | 1 | ||||
-rw-r--r-- | arch/arm/kernel/setup.c | 1 | ||||
-rw-r--r-- | arch/arm/vfp/vfpmodule.c | 9 |
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/include/asm/hwcap.h b/arch/arm/include/asm/hwcap.h index 81f4c899a555..bda489f9f017 100644 --- a/arch/arm/include/asm/hwcap.h +++ b/arch/arm/include/asm/hwcap.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #define HWCAP_IWMMXT 512 | 16 | #define HWCAP_IWMMXT 512 |
17 | #define HWCAP_CRUNCH 1024 | 17 | #define HWCAP_CRUNCH 1024 |
18 | #define HWCAP_THUMBEE 2048 | 18 | #define HWCAP_THUMBEE 2048 |
19 | #define HWCAP_NEON 4096 | ||
19 | 20 | ||
20 | #if defined(__KERNEL__) && !defined(__ASSEMBLY__) | 21 | #if defined(__KERNEL__) && !defined(__ASSEMBLY__) |
21 | /* | 22 | /* |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 66e1a643ed14..d4dae3e9b294 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -773,6 +773,7 @@ static const char *hwcap_str[] = { | |||
773 | "iwmmxt", | 773 | "iwmmxt", |
774 | "crunch", | 774 | "crunch", |
775 | "thumbee", | 775 | "thumbee", |
776 | "neon", | ||
776 | NULL | 777 | NULL |
777 | }; | 778 | }; |
778 | 779 | ||
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index c0d2c9bb952b..67ca340a7c85 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -371,6 +371,15 @@ static int __init vfp_init(void) | |||
371 | * in place; report VFP support to userspace. | 371 | * in place; report VFP support to userspace. |
372 | */ | 372 | */ |
373 | elf_hwcap |= HWCAP_VFP; | 373 | elf_hwcap |= HWCAP_VFP; |
374 | #ifdef CONFIG_NEON | ||
375 | /* | ||
376 | * Check for the presence of the Advanced SIMD | ||
377 | * load/store instructions, integer and single | ||
378 | * precision floating point operations. | ||
379 | */ | ||
380 | if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100) | ||
381 | elf_hwcap |= HWCAP_NEON; | ||
382 | #endif | ||
374 | } | 383 | } |
375 | return 0; | 384 | return 0; |
376 | } | 385 | } |