diff options
author | Ryan S. Arnold <rsa@linux.vnet.ibm.com> | 2013-06-11 09:32:41 -0500 |
---|---|---|
committer | Ryan S. Arnold <rsa@linux.vnet.ibm.com> | 2013-06-11 10:13:39 -0500 |
commit | fac0c5f2b1dc0e1806cd95f2d6a4619929119f01 (patch) | |
tree | a29479986bb7351a4430c6897f9c32445c43ddda /sysdeps/powerpc/dl-procinfo.h | |
parent | f22bc486c1ce5e92380a0d06b98fbba639d170e4 (diff) | |
download | glibc-fac0c5f2b1dc0e1806cd95f2d6a4619929119f01.tar.gz |
PowerPC: Merge ports/ dl-procinfo.[ch] with base.
Diffstat (limited to 'sysdeps/powerpc/dl-procinfo.h')
-rw-r--r-- | sysdeps/powerpc/dl-procinfo.h | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h index 19aa93b185..568fe19dde 100644 --- a/sysdeps/powerpc/dl-procinfo.h +++ b/sysdeps/powerpc/dl-procinfo.h @@ -13,14 +13,14 @@ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see + License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _DL_PROCINFO_H -#define _DL_PROCINFO_H 1 +#define _DL_PROCINFO_H 1 #include <ldsodefs.h> -#include <sysdep.h> /* This defines the PPC_FEATURE_* macros. */ +#include <sysdep.h> /* This defines the PPC_FEATURE_* macros. */ /* There are 25 bits used, but they are bits 7..31. */ #define _DL_HWCAP_FIRST 7 @@ -30,12 +30,12 @@ #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ + PPC_FEATURE_HAS_DFP) -#define _DL_PLATFORMS_COUNT 9 +#define _DL_PLATFORMS_COUNT 13 -#define _DL_FIRST_PLATFORM 32 +#define _DL_FIRST_PLATFORM 32 /* Mask to filter out platforms. */ -#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \ - << _DL_FIRST_PLATFORM) +#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \ + << _DL_FIRST_PLATFORM) /* Platform bits (relative to _DL_FIRST_PLATFORM). */ #define PPC_PLATFORM_POWER4 0 @@ -47,6 +47,10 @@ #define PPC_PLATFORM_POWER6X 6 #define PPC_PLATFORM_POWER7 7 #define PPC_PLATFORM_PPCA2 8 +#define PPC_PLATFORM_PPC405 9 +#define PPC_PLATFORM_PPC440 10 +#define PPC_PLATFORM_PPC464 11 +#define PPC_PLATFORM_PPC476 12 static inline const char * __attribute__ ((unused)) @@ -111,7 +115,7 @@ _dl_string_platform (const char *str) return -1; } if (str[1] == '\0') - return ret; + return ret; } else if (strncmp (str, GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPC970], 3) == 0) @@ -127,6 +131,22 @@ _dl_string_platform (const char *str) GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPCA2] + 3) == 0) return _DL_FIRST_PLATFORM + PPC_PLATFORM_PPCA2; + else if (strcmp (str + 3, + GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPC405] + 3) + == 0) + return _DL_FIRST_PLATFORM + PPC_PLATFORM_PPC405; + else if (strcmp (str + 3, + GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPC440] + 3) + == 0) + return _DL_FIRST_PLATFORM + PPC_PLATFORM_PPC440; + else if (strcmp (str + 3, + GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPC464] + 3) + == 0) + return _DL_FIRST_PLATFORM + PPC_PLATFORM_PPC464; + else if (strcmp (str + 3, + GLRO(dl_powerpc_platforms)[PPC_PLATFORM_PPC476] + 3) + == 0) + return _DL_FIRST_PLATFORM + PPC_PLATFORM_PPC476; } return -1; |