summaryrefslogtreecommitdiff
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
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
;