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