Provide crypto_cpu_caps_init() for amd64.
authorjsing <jsing@openbsd.org>
Fri, 18 Oct 2024 13:36:24 +0000 (13:36 +0000)
committerjsing <jsing@openbsd.org>
Fri, 18 Oct 2024 13:36:24 +0000 (13:36 +0000)
commit9b1106c6549294debbff25e74017bd91867d8019
tree98ae7aa40e7e480212f51d3511fbb3a57b9572af
parente773e7e3935196eea66382160eeee2d3f77d2e3f
Provide crypto_cpu_caps_init() for amd64.

This is a CPU capability detection implementation in C, with minimal
inline assembly (for cpuid and xgetbv). This replaces the assembly
mess generated by x86_64cpuid.pl. Rather than populating OPENSSL_ia32cap_P
directly with CPUID output, just set the bits that the remaining
perlasm checks (namely AESNI, AVX, FXSR, INTEL, HT, MMX, PCLMUL, SSE, SSE2
and SSSE3).

ok joshua@ tb@
lib/libcrypto/arch/amd64/Makefile.inc
lib/libcrypto/arch/amd64/crypto_arch.h
lib/libcrypto/arch/amd64/crypto_cpu_caps.c [new file with mode: 0644]
lib/libcrypto/x86_arch.h