From 5efdce3240131111e857f374064c7fe972419555 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Seo Date: Wed, 4 Nov 2015 19:30:49 -0200 Subject: [PATCH] powerpc: Add basic support for POWER9 sans hwcap. This patch adds the minimum changes for supporting the POWER9 processor. 2015-12-09 Carlos Eduardo Seo * sysdeps/powerpc/dl-procinfo.c: Added platform and feature support for POWER9. * sysdeps/powerpc/dl-procinfo.h: Likewise. * sysdeps/powerpc/powerpc32/power9/Implies: New file. * sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies: Likewise. * sysdeps/powerpc/powerpc32/power9/multiarch/Implies: Likewise. * sysdeps/powerpc/powerpc64/power9/Implies: Likewise, for powerpc64. * sysdeps/powerpc/powerpc64/power9/fpu/Implies: Likewise. * sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies: Likewise. * sysdeps/powerpc/powerpc64/power9/multiarch/Implies: Likewise. --- sysdeps/powerpc/dl-procinfo.c | 3 ++- sysdeps/powerpc/dl-procinfo.h | 6 +++++- sysdeps/powerpc/powerpc32/power9/Implies | 2 ++ sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies | 1 + sysdeps/powerpc/powerpc32/power9/multiarch/Implies | 1 + sysdeps/powerpc/powerpc64/power9/Implies | 2 ++ sysdeps/powerpc/powerpc64/power9/fpu/Implies | 2 ++ sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies | 1 + sysdeps/powerpc/powerpc64/power9/multiarch/Implies | 1 + 9 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 sysdeps/powerpc/powerpc32/power9/Implies create mode 100644 sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies create mode 100644 sysdeps/powerpc/powerpc32/power9/multiarch/Implies create mode 100644 sysdeps/powerpc/powerpc64/power9/Implies create mode 100644 sysdeps/powerpc/powerpc64/power9/fpu/Implies create mode 100644 sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies create mode 100644 sysdeps/powerpc/powerpc64/power9/multiarch/Implies diff --git a/sysdeps/powerpc/dl-procinfo.c b/sysdeps/powerpc/dl-procinfo.c index 770c1f3..a8df5b8 100644 --- a/sysdeps/powerpc/dl-procinfo.c +++ b/sysdeps/powerpc/dl-procinfo.c @@ -75,7 +75,7 @@ PROCINFO_CLASS const char _dl_powerpc_cap_flags[60][10] #if !defined PROCINFO_DECL && defined SHARED ._dl_powerpc_platforms #else -PROCINFO_CLASS const char _dl_powerpc_platforms[14][12] +PROCINFO_CLASS const char _dl_powerpc_platforms[15][12] #endif #ifndef PROCINFO_DECL = { @@ -93,6 +93,7 @@ PROCINFO_CLASS const char _dl_powerpc_platforms[14][12] [PPC_PLATFORM_PPC464] = "ppc464", [PPC_PLATFORM_PPC476] = "ppc476", [PPC_PLATFORM_POWER8] = "power8", + [PPC_PLATFORM_POWER9] = "power9" } #endif #if !defined SHARED || defined PROCINFO_DECL diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h index 36873cf..407149b 100644 --- a/sysdeps/powerpc/dl-procinfo.h +++ b/sysdeps/powerpc/dl-procinfo.h @@ -40,7 +40,7 @@ #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ + PPC_FEATURE_HAS_DFP) -#define _DL_PLATFORMS_COUNT 14 +#define _DL_PLATFORMS_COUNT 15 #define _DL_FIRST_PLATFORM 32 /* Mask to filter out platforms. */ @@ -62,6 +62,7 @@ #define PPC_PLATFORM_PPC464 11 #define PPC_PLATFORM_PPC476 12 #define PPC_PLATFORM_POWER8 13 +#define PPC_PLATFORM_POWER9 14 static inline const char * __attribute__ ((unused)) @@ -125,6 +126,9 @@ _dl_string_platform (const char *str) case '8': ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER8; break; + case '9': + ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER9; + break; default: return -1; } diff --git a/sysdeps/powerpc/powerpc32/power9/Implies b/sysdeps/powerpc/powerpc32/power9/Implies new file mode 100644 index 0000000..066dea2 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc32/power8/fpu +powerpc/powerpc32/power8 diff --git a/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies new file mode 100644 index 0000000..4393b56 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc32/power9/multiarch/Implies b/sysdeps/powerpc/powerpc32/power9/multiarch/Implies new file mode 100644 index 0000000..4393b56 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/power9/Implies b/sysdeps/powerpc/powerpc64/power9/Implies new file mode 100644 index 0000000..fad2505 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/power8/fpu +powerpc/powerpc64/power8 diff --git a/sysdeps/powerpc/powerpc64/power9/fpu/Implies b/sysdeps/powerpc/powerpc64/power9/fpu/Implies new file mode 100644 index 0000000..fad2505 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/fpu/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/power8/fpu +powerpc/powerpc64/power8 diff --git a/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies new file mode 100644 index 0000000..f11e1bd --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/power9/multiarch/Implies b/sysdeps/powerpc/powerpc64/power9/multiarch/Implies new file mode 100644 index 0000000..dd6bca4 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power8/multiarch -- 2.4.9 (Apple Git-60)