You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
5.1 KiB

From c2b54e66e194405a1ff062bb442ede9a8c4b913a Mon Sep 17 00:00:00 2001
From: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
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.
(cherry picked from commit b1f19b8ef1003f202424ca222003a18b880bf914)
---
ChangeLog | 13 +++++++++++++
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 +
10 files changed, 30 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/ChangeLog b/ChangeLog
index 079da2a..cecd77c 100644
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.1.0