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.
137 lines
5.1 KiB
137 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 |
|
|
|
|