From: Alexander Kanevskiy Date: Fri, 13 Aug 2010 19:43:35 +0000 (+0000) Subject: ARM: Align hwcap names and definitions with kernel, mark VFP and NEON as HWCAP_IMPORTANT. X-Git-Tag: glibc-2.16-ports-before-merge~459 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd5fe45924fd99a5a9a074da426a8833cc5bfcf3;p=thirdparty%2Fglibc.git ARM: Align hwcap names and definitions with kernel, mark VFP and NEON as HWCAP_IMPORTANT. - Align hwcap names with kernel (arch/arm/kernel/setup.c) - Align HWCAP_ARM_* definitions with kernel - Make VFP and NEON as HWCAP_IMPORTANT, this can help in scenarios where VFP/NEON HW optimizations can be utilized. --- diff --git a/ChangeLog.arm b/ChangeLog.arm index f8cb0565ab4..ef2a608c927 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,14 @@ +2010-08-13 Alexander Kanevskiy + + * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (_dl_arm_cap_flags): + Change "fast-mult" to "fastmult". Add new HWCAP names. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT): + Change to 15. + (HWCAP_IMPORTANT): Change to (HWCAP_ARM_VFP | HWCAP_ARM_NEON). + * sysdeps/unix/sysv/linux/arm/sysdep.h (HWCAP_ARM_CRUNCH, + HWCAP_ARM_THUMBEE, HWCAP_ARM_NEON, HWCAP_ARM_VFPv3, + HWCAP_ARM_VFPv3D16): Define. + 2010-08-12 Joseph Myers * sysdeps/unix/sysv/linux/arm/syscalls.list: Add entry for diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c index 5c913f51a21..03e1511dc7a 100644 --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c +++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c @@ -47,12 +47,12 @@ #if !defined PROCINFO_DECL && defined SHARED ._dl_arm_cap_flags #else -PROCINFO_CLASS const char _dl_arm_cap_flags[10][10] +PROCINFO_CLASS const char _dl_arm_cap_flags[15][10] #endif #ifndef PROCINFO_DECL = { - "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp", - "java", "iwmmxt", + "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp", + "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16", } #endif #if !defined SHARED || defined PROCINFO_DECL diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h index 0c675c60dc9..d3fc385570b 100644 --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h @@ -24,7 +24,7 @@ #include #include -#define _DL_HWCAP_COUNT 10 +#define _DL_HWCAP_COUNT 15 /* The kernel provides platform data but it is not interesting. */ #define _DL_HWCAP_PLATFORM 0 @@ -54,7 +54,7 @@ _dl_hwcap_string (int idx) return GLRO(dl_arm_cap_flags)[idx]; }; -#define HWCAP_IMPORTANT (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT) +#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON) static inline int __attribute__ ((unused)) diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h index bd5b2ce3e45..e647d42ea47 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -55,6 +55,11 @@ #define HWCAP_ARM_EDSP 128 #define HWCAP_ARM_JAVA 256 #define HWCAP_ARM_IWMMXT 512 +#define HWCAP_ARM_CRUNCH 1024 +#define HWCAP_ARM_THUMBEE 2048 +#define HWCAP_ARM_NEON 4096 +#define HWCAP_ARM_VFPv3 8192 +#define HWCAP_ARM_VFPv3D16 16384 #ifdef __ASSEMBLER__