[0/3] aarch64: Add AmpereComputing emag to tunable cpu list
Commit Message
This patch and following patches are from AmpereComputing, which target AmpereComputing's emag processor. Hope your code reviews on these patches. And we have already signed a copyright assignement with the FSF.
Thanks,
Feng
---
Emag 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 emag.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add emag.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_EMAG):
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(-)
Comments
On 18/12/2018 09:49, Feng Xue wrote:
> This patch and following patches are from AmpereComputing, which target AmpereComputing's emag processor. Hope your code reviews on these patches. And we have already signed a copyright assignement with the FSF.
>
> Thanks,
> Feng
> ---
>
> Emag 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 emag.
> * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
> Add emag.
> * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_EMAG):
> New macro.
OK to commit.
@@ -1,3 +1,11 @@
+2018-12-17 Feng Xue <fxue@os.amperecomputing.com>
+
+ * manual/tunables.texi (Tunable glibc.cpu.name): Add emag.
+ * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
+ Add emag.
+ * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_EMAG):
+ New macro.
+
2018-12-15 Paul Eggert <eggert@cs.ucla.edu>
regex: fix storage-exhaustion error
@@ -360,7 +360,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{emag}.
This tunable is specific to aarch64.
@end deftp
@@ -36,6 +36,7 @@ static struct cpu_list cpu_list[] = {
{"thunderx2t99", 0x431F0AF0},
{"thunderx2t99p1", 0x420F5160},
{"phecda", 0x680F0000},
+ {"emag", 0x503F0001},
{"generic", 0x0}
};
@@ -52,6 +52,9 @@
#define IS_PHECDA(midr) (MIDR_IMPLEMENTOR(midr) == 'h' \
&& MIDR_PARTNUM(midr) == 0x000)
+#define IS_EMAG(midr) (MIDR_IMPLEMENTOR(midr) == 'P' \
+ && MIDR_PARTNUM(midr) == 0x000)
+
struct cpu_features
{
uint64_t midr_el1;