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: upstream/2.30~10627^2~459 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd5fe45924fd99a5a9a074da426a8833cc5bfcf3;p=external%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 f8cb056..ef2a608 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 5c913f5..03e1511 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 0c675c6..d3fc385 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 bd5b2ce..e647d42 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__