aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Walker <sarah.walker2@arm.com>2026-01-13 14:25:50 +0000
committerAndrew Turner <andrew@FreeBSD.org>2026-01-13 15:28:04 +0000
commit27083693955d563f836fd1b6b1bc4e1a249d3b6b (patch)
tree484a8dd1d0257c4f72192ef7225a733bc618f5ce
parent41ccf82b29f3b16fcd1ccb4987569c851222ef8d (diff)
crypto: Update sha256 and sha512 ifuncs to use passed HWCAP flags
Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54600
-rw-r--r--sys/crypto/sha2/sha256c.c8
-rw-r--r--sys/crypto/sha2/sha512c.c9
2 files changed, 4 insertions, 13 deletions
diff --git a/sys/crypto/sha2/sha256c.c b/sys/crypto/sha2/sha256c.c
index b7f7295c5c85..c7f9bbf119a5 100644
--- a/sys/crypto/sha2/sha256c.c
+++ b/sys/crypto/sha2/sha256c.c
@@ -206,12 +206,8 @@ SHA256_Transform_arm64(uint32_t * state, const unsigned char block[64])
DEFINE_UIFUNC(static, void, SHA256_Transform,
(uint32_t * state, const unsigned char block[64]))
{
- u_long hwcap;
-
- if (elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)) == 0) {
- if ((hwcap & HWCAP_SHA2) != 0)
- return (SHA256_Transform_arm64);
- }
+ if ((at_hwcap & HWCAP_SHA2) != 0)
+ return (SHA256_Transform_arm64);
return (SHA256_Transform_c);
}
diff --git a/sys/crypto/sha2/sha512c.c b/sys/crypto/sha2/sha512c.c
index 076cb30a1dfa..335dae08abb7 100644
--- a/sys/crypto/sha2/sha512c.c
+++ b/sys/crypto/sha2/sha512c.c
@@ -236,13 +236,8 @@ SHA512_Transform_arm64(uint64_t * state,
DEFINE_UIFUNC(static, void, SHA512_Transform,
(uint64_t * state, const unsigned char block[SHA512_BLOCK_LENGTH]))
{
- u_long hwcap;
-
- if (elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)) == 0) {
- if ((hwcap & HWCAP_SHA512) != 0) {
- return (SHA512_Transform_arm64);
- }
- }
+ if ((at_hwcap & HWCAP_SHA512) != 0)
+ return (SHA512_Transform_arm64);
return (SHA512_Transform_c);
}