This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 1/3] aarch64: Add AmpereComputing skylark to tunable cpu list
- From: Xue Feng <innat_xue at hotmail dot com>
- To: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Cc: Feng Xue <feng dot xue at amperecomputing dot com>
- Date: Fri, 12 Oct 2018 11:49:25 +0000
- Subject: [PATCH 1/3] aarch64: Add AmpereComputing skylark to tunable cpu list
I'm from AmpereComputing Corp, and working on adding support for Skylark processor to glibc.
Feng
---
Skylark is a 64-bit CPU core released by AmpereComputing.
Add its name to cpu list, and corresponding macro as utilities for
later IFUNC dispatch.
* manual/tunables.texi (Tunable glibc.cpu.name): Add skylark.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add skylark.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_SKYLARK):
New macro.
---
ChangeLog | 8 ++++++++
manual/tunables.texi | 2 +-
sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 1 +
sysdeps/unix/sysv/linux/aarch64/cpu-features.h | 3 +++
4 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 10b38cc..2533c9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-10-11 Feng Xue <feng.xue@amperecomputing.com>
+
+ * manual/tunables.texi (Tunable glibc.cpu.name): Add skylark.
+ * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
+ Add skylark.
+ * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_SKYLARK):
+ New macro.
+
2018-10-10 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/wordsize.h>.
diff --git a/manual/tunables.texi b/manual/tunables.texi
index 3345a23..4fa61fc 100644
--- a/manual/tunables.texi
+++ b/manual/tunables.texi
@@ -333,7 +333,7 @@ This tunable is specific to powerpc, powerpc64 and powerpc64le.
The @code{glibc.cpu.name=xxx} tunable allows the user to tell @theglibc{} to
assume that the CPU is @code{xxx} where xxx may have one of these values:
@code{generic}, @code{falkor}, @code{thunderxt88}, @code{thunderx2t99},
-@code{thunderx2t99p1}.
+@code{thunderx2t99p1}, @code{skylark}.
This tunable is specific to aarch64.
@end deftp
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
index b4f3485..6448493 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -36,6 +36,7 @@ static struct cpu_list cpu_list[] = {
{"thunderx2t99", 0x431F0AF0},
{"thunderx2t99p1", 0x420F5160},
{"phecda", 0x680F0000},
+ {"skylark", 0x503F0001},
{"generic", 0x0}
};
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
index eb35adf..c53b65d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
@@ -52,6 +52,9 @@
#define IS_PHECDA(midr) (MIDR_IMPLEMENTOR(midr) == 'h' \
&& MIDR_PARTNUM(midr) == 0x000)
+#define IS_SKYLARK(midr) (MIDR_IMPLEMENTOR(midr) == 'P' \
+ && MIDR_PARTNUM(midr) == 0x000)
+
struct cpu_features
{
uint64_t midr_el1;
--
1.8.3.1