[1/2] aarch64: Add Huawei Kunpeng to tunable cpu list
Commit Message
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
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;
>
On 15/10/2019 08:50, Szabolcs Nagy wrote:
> 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.
I pushed it upstream.
@@ -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
@@ -38,6 +38,7 @@ static struct cpu_list cpu_list[] = {
{"phecda", 0x680F0000},
{"ares", 0x411FD0C0},
{"emag", 0x503F0001},
+ {"kunpeng", 0x481FD010},
{"generic", 0x0}
};
@@ -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;