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