summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c')
-rw-r--r--src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c b/src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c
index 63b7b64cda..0bc440d34f 100644
--- a/src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c
+++ b/src/lib/libcrypto/arch/amd64/crypto_cpu_caps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_cpu_caps.c,v 1.4 2024/11/16 13:05:35 jsing Exp $ */ 1/* $OpenBSD: crypto_cpu_caps.c,v 1.7 2025/07/22 09:18:02 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -98,10 +98,14 @@ crypto_cpu_caps_init(void)
98 if ((edx & IA32CAP_MASK0_SSE2) != 0) 98 if ((edx & IA32CAP_MASK0_SSE2) != 0)
99 caps |= CPUCAP_MASK_SSE2; 99 caps |= CPUCAP_MASK_SSE2;
100 100
101 if ((ecx & IA32CAP_MASK1_AESNI) != 0) 101 if ((ecx & IA32CAP_MASK1_AESNI) != 0) {
102 caps |= CPUCAP_MASK_AESNI; 102 caps |= CPUCAP_MASK_AESNI;
103 if ((ecx & IA32CAP_MASK1_PCLMUL) != 0) 103 crypto_cpu_caps_amd64 |= CRYPTO_CPU_CAPS_AMD64_AES;
104 }
105 if ((ecx & IA32CAP_MASK1_PCLMUL) != 0) {
104 caps |= CPUCAP_MASK_PCLMUL; 106 caps |= CPUCAP_MASK_PCLMUL;
107 crypto_cpu_caps_amd64 |= CRYPTO_CPU_CAPS_AMD64_CLMUL;
108 }
105 if ((ecx & IA32CAP_MASK1_SSSE3) != 0) 109 if ((ecx & IA32CAP_MASK1_SSSE3) != 0)
106 caps |= CPUCAP_MASK_SSSE3; 110 caps |= CPUCAP_MASK_SSSE3;
107 111
@@ -126,9 +130,3 @@ crypto_cpu_caps_init(void)
126 130
127 OPENSSL_ia32cap_P = caps; 131 OPENSSL_ia32cap_P = caps;
128} 132}
129
130uint64_t
131crypto_cpu_caps_ia32(void)
132{
133 return OPENSSL_ia32cap_P;
134}