summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXuelei Zhang <zhangxuelei4@huawei.com>2019-12-19 14:55:06 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-12-19 16:31:04 -0300
commit0db8e7b36665fa90c53161742dedab21d786924c (patch)
treec2242fd20c6207c70216e304b818de2ff61b0834
parenta7611806d5f4163656a2f5d21d349b5e7c4170e0 (diff)
downloadglibc-0db8e7b36665fa90c53161742dedab21d786924c.tar.gz
aarch64: Add Huawei Kunpeng to tunable cpu list
Kunpeng processer is a 64-bit Arm-compatible CPU released by Huawei, and we have already signed a copyright assignement with the FSF. This patch adds its to cpu list, and related macro for IFUNC. Checked on aarch64-linux-gnu. Reviewed-by: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
-rw-r--r--manual/tunables.texi2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/cpu-features.c1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/cpu-features.h3
3 files changed, 5 insertions, 1 deletions
diff --git a/manual/tunables.texi b/manual/tunables.texi
index 1687f9c939..ec18b10834 100644
--- a/manual/tunables.texi
+++ b/manual/tunables.texi
@@ -372,7 +372,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{ares}, @code{emag}.
+@code{thunderx2t99p1}, @code{ares}, @code{emag}, @code{kunpeng}.
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 4fc241a6e5..d0e50d0898 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -38,6 +38,7 @@ static struct cpu_list cpu_list[] = {
{"phecda", 0x680F0000},
{"ares", 0x411FD0C0},
{"emag", 0x503F0001},
+ {"kunpeng", 0x481FD010},
{"generic", 0x0}
};
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
index 0fa57dc66f..87c4995627 100644
--- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
@@ -57,6 +57,9 @@
#define IS_EMAG(midr) (MIDR_IMPLEMENTOR(midr) == 'P' \
&& MIDR_PARTNUM(midr) == 0x000)
+#define IS_KUNPENG(midr) (MIDR_IMPLEMENTOR(midr) == 'H' \
+ && MIDR_PARTNUM(midr) == 0xd01)
+
struct cpu_features
{
uint64_t midr_el1;