[1/2] aarch64: Add Huawei Kunpeng to tunable cpu list
diff mbox series

Message ID 20191014034410.10276-1-zhangxuelei4@huawei.com
State New
Headers show
Series
  • [1/2] aarch64: Add Huawei Kunpeng to tunable cpu list
Related show

Commit Message

Xuelei Zhang Oct. 14, 2019, 3:44 a.m. UTC
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.

    * manual/tunables.texi (Tunable glibc.cpu.name): Add Kunpeng.
    * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
    Add kunpeng.
    * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_KUNPENG):
    New macro.
---
 manual/tunables.texi                           | 2 +-
 sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 1 +
 sysdeps/unix/sysv/linux/aarch64/cpu-features.h | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

Comments

Szabolcs Nagy Oct. 15, 2019, 11:50 a.m. UTC | #1
On 14/10/2019 04:44, Xuelei Zhang wrote:
> 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.
> 
>     * manual/tunables.texi (Tunable glibc.cpu.name): Add Kunpeng.
>     * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
>     Add kunpeng.
>     * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_KUNPENG):
>     New macro.

this is OK to commit.

note that changelog is no longer required.

> ---
>  manual/tunables.texi                           | 2 +-
>  sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 1 +
>  sysdeps/unix/sysv/linux/aarch64/cpu-features.h | 3 +++
>  3 files changed, 5 insertions(+), 1 deletion(-)
> 
> 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;
>

Patch
diff mbox series

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;