Patchwork Add AArch64 hwcap values from Linux 4.17

login
register
mail settings
Submitter Joseph Myers
Date June 5, 2018, 3:20 p.m.
Message ID <alpine.DEB.2.20.1806051520280.28715@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/27631/
State New
Headers show

Comments

Joseph Myers - June 5, 2018, 3:20 p.m.
On Tue, 5 Jun 2018, Szabolcs Nagy wrote:

> On 04/06/18 21:56, Joseph Myers wrote:
> > Linux 4.17 adds four new AArch64 hwcap values.  This patch adds them
> > to glibc's AArch64 bits/hwcap.h.
> > 
> 
> dl-procinfo.c needs to be updated too.

Thanks, here's an updated patch.

Add AArch64 hwcap values from Linux 4.17.

Linux 4.17 adds four new AArch64 hwcap values.  This patch adds them
to glibc's AArch64 bits/hwcap.h, with corresponding dl-procinfo.c
updates.

Tested with build-many-glibcs.py for aarch64.

2018-06-05  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DIT): New
	macro.
	(HWCAP_USCAT): Likewise.
	(HWCAP_ILRCPC): Likewise.
	(HWCAP_FLAGM): Likewise.
	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT):
	Increase to 28.
	(_dl_aarch64_cap_flags): Add new flag names.
Szabolcs Nagy - June 5, 2018, 3:45 p.m.
On 05/06/18 16:20, Joseph Myers wrote:
> On Tue, 5 Jun 2018, Szabolcs Nagy wrote:
>> On 04/06/18 21:56, Joseph Myers wrote:
>>> Linux 4.17 adds four new AArch64 hwcap values.  This patch adds them
>>> to glibc's AArch64 bits/hwcap.h.
>>>
>>
>> dl-procinfo.c needs to be updated too.
> 
> Thanks, here's an updated patch.
> 
> Add AArch64 hwcap values from Linux 4.17.
> 
> Linux 4.17 adds four new AArch64 hwcap values.  This patch adds them
> to glibc's AArch64 bits/hwcap.h, with corresponding dl-procinfo.c
> updates.
> 
> Tested with build-many-glibcs.py for aarch64.
> 

This is OK to commit, thanks.

> 2018-06-05  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DIT): New
> 	macro.
> 	(HWCAP_USCAT): Likewise.
> 	(HWCAP_ILRCPC): Likewise.
> 	(HWCAP_FLAGM): Likewise.
> 	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT):
> 	Increase to 28.
> 	(_dl_aarch64_cap_flags): Add new flag names.
> 
> diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
> index 6f05ec1..0837913 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
> +++ b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
> @@ -45,3 +45,7 @@
>   #define HWCAP_SHA512		(1 << 21)
>   #define HWCAP_SVE		(1 << 22)
>   #define HWCAP_ASIMDFHM		(1 << 23)
> +#define HWCAP_DIT		(1 << 24)
> +#define HWCAP_USCAT		(1 << 25)
> +#define HWCAP_ILRCPC		(1 << 26)
> +#define HWCAP_FLAGM		(1 << 27)
> diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> index 054d5c8..2ac0635 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> +++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> @@ -57,7 +57,7 @@ PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
>   #endif
>   
>   /* Number of HWCAP bits set.  */
> -#define _DL_HWCAP_COUNT 24
> +#define _DL_HWCAP_COUNT 28
>   
>   #if !defined PROCINFO_DECL && defined SHARED
>     ._dl_aarch64_cap_flags
> @@ -69,7 +69,7 @@ PROCINFO_CLASS const char _dl_aarch64_cap_flags[_DL_HWCAP_COUNT][10]
>   = { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
>       "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm", "jscvt", "fcma",
>       "lrcpc", "dcpop", "sha3", "sm3", "sm4", "asimddp", "sha512", "sve",
> -    "asimdfhm" }
> +    "asimdfhm", "dit", "uscat", "ilrcpc", "flagm" }
>   #endif
>   #if !defined SHARED || defined PROCINFO_DECL
>   ;
> 
>

Patch

diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
index 6f05ec1..0837913 100644
--- a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
+++ b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
@@ -45,3 +45,7 @@ 
 #define HWCAP_SHA512		(1 << 21)
 #define HWCAP_SVE		(1 << 22)
 #define HWCAP_ASIMDFHM		(1 << 23)
+#define HWCAP_DIT		(1 << 24)
+#define HWCAP_USCAT		(1 << 25)
+#define HWCAP_ILRCPC		(1 << 26)
+#define HWCAP_FLAGM		(1 << 27)
diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
index 054d5c8..2ac0635 100644
--- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
+++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
@@ -57,7 +57,7 @@  PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
 #endif
 
 /* Number of HWCAP bits set.  */
-#define _DL_HWCAP_COUNT 24
+#define _DL_HWCAP_COUNT 28
 
 #if !defined PROCINFO_DECL && defined SHARED
   ._dl_aarch64_cap_flags
@@ -69,7 +69,7 @@  PROCINFO_CLASS const char _dl_aarch64_cap_flags[_DL_HWCAP_COUNT][10]
 = { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
     "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm", "jscvt", "fcma",
     "lrcpc", "dcpop", "sha3", "sm3", "sm4", "asimddp", "sha512", "sve",
-    "asimdfhm" }
+    "asimdfhm", "dit", "uscat", "ilrcpc", "flagm" }
 #endif
 #if !defined SHARED || defined PROCINFO_DECL
 ;