about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2018-01-11 17:08:51 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2018-01-16 18:51:13 +0000
commit953c49cc3bb1041090281042148197ad3537c551 (patch)
treeb2adb9110b7b746f6b608c72171819b5d6c0f4a0
parentafce1991f6f61514172696ec3edf93331cb0e04f (diff)
downloadglibc-953c49cc3bb1041090281042148197ad3537c551.tar.gz
glibc-953c49cc3bb1041090281042148197ad3537c551.tar.xz
glibc-953c49cc3bb1041090281042148197ad3537c551.zip
aarch64: Update bits/hwcap.h for Linux 4.15.
Define new HWCAP bits and add their name to dl-procinfo.c following
the linux definitions. Synchronizing with v4.15-rc8 version of linux,
these are not expected to change before the 4.15 release.

	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SHA3): Define.
	(HWCAP_SM3, HWCAP_SM4, HWCAP_ASIMDDP, HWCAP_SHA512, HWCAP_SVE): Define.
	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
	(_dl_aarch64_cap_flags): Update.
	(_DL_HWCAP_COUNT): Update.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h6
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c4
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d9d2a0fff9..ce13e85838 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2018-01-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
+	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SHA3): Define.
+	(HWCAP_SM3, HWCAP_SM4, HWCAP_ASIMDDP, HWCAP_SHA512, HWCAP_SVE): Define.
+	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
+	(_dl_aarch64_cap_flags): Update.
+	(_DL_HWCAP_COUNT): Update.
+
+2018-01-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
 	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
 	(_DL_HWCAP_LAST): Remove.
 	(_DL_HWCAP_COUNT): Move to ...
diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
index 5a101562e7..569eb07f17 100644
--- a/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
+++ b/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
@@ -38,3 +38,9 @@
 #define HWCAP_FCMA		(1 << 14)
 #define HWCAP_LRCPC		(1 << 15)
 #define HWCAP_DCPOP		(1 << 16)
+#define HWCAP_SHA3		(1 << 17)
+#define HWCAP_SM3		(1 << 18)
+#define HWCAP_SM4		(1 << 19)
+#define HWCAP_ASIMDDP		(1 << 20)
+#define HWCAP_SHA512		(1 << 21)
+#define HWCAP_SVE		(1 << 22)
diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
index 2da8d7b910..940f64875b 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 16
+#define _DL_HWCAP_COUNT 23
 
 #if !defined PROCINFO_DECL && defined SHARED
   ._dl_aarch64_cap_flags
@@ -68,7 +68,7 @@ PROCINFO_CLASS const char _dl_aarch64_cap_flags[_DL_HWCAP_COUNT][10]
 /* Matches the names in arch/arm64/kernel/cpuinfo.c of Linux.  */
 = { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
     "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm", "jscvt", "fcma",
-    "lrcpc" }
+    "lrcpc", "dcpop", "sha3", "sm3", "sm4", "asimddp", "sha512", "sve" }
 #endif
 #if !defined SHARED || defined PROCINFO_DECL
 ;