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