wolfcrypt/src/aes.c: activate USE_INTEL_SPEEDUP when defined(USE_INTEL_SPEEDUP_FOR_AES) in the WOLFSSL_X86_64_BUILD build path too.

linuxkm/lkcapi_aes_glue.c: tweak WOLFKM_AES_DRIVER_ISA_EXT to reflect AVX512 and VAES capabilities.
This commit is contained in:
Daniel Pouzzner
2026-07-07 00:09:38 -05:00
parent 42a9983e05
commit d7a29f58b4
2 changed files with 17 additions and 2 deletions
+10 -2
View File
@@ -96,8 +96,16 @@
#define WOLFKM_AESOFB_NAME "ofb(aes)"
#define WOLFKM_AESECB_NAME "ecb(aes)"
#if defined(USE_INTEL_SPEEDUP) || defined(USE_INTEL_SPEEDUP_FOR_AES)
#define WOLFKM_AES_DRIVER_ISA_EXT "-aesni-avx"
#if defined(WOLFSSL_X86_64_BUILD) && (defined(USE_INTEL_SPEEDUP) || defined(USE_INTEL_SPEEDUP_FOR_AES))
#if !defined(NO_AVX512_SUPPORT)
#define WOLFKM_AES_DRIVER_ISA_EXT "-vaes-avx512"
#elif !defined(NO_VAES_SUPPORT)
#define WOLFKM_AES_DRIVER_ISA_EXT "-vaes-avx2"
#elif !defined(NO_AVX2_SUPPORT)
#define WOLFKM_AES_DRIVER_ISA_EXT "-aesni-avx2"
#else
#define WOLFKM_AES_DRIVER_ISA_EXT "-aesni-avx"
#endif
#elif defined(WOLFSSL_AESNI)
#define WOLFKM_AES_DRIVER_ISA_EXT "-aesni"
#else
+7
View File
@@ -82,6 +82,9 @@ block cipher mechanism that uses n-bit binary string parameter key with 128-bits
* WOLFSSL_AESNI_BY4: AES-NI 4-block parallel processing default: off
* WOLFSSL_AESNI_BY6: AES-NI 6-block parallel processing default: off
* USE_INTEL_SPEEDUP: Intel AVX/AVX2 for AES acceleration default: off
* USE_INTEL_SPEEDUP_FOR_AES:
Same as USE_INTEL_SPEEDUP, but scoped
to AES. default: off
* WOLFSSL_AES_SMALL_TABLES: Use smaller AES S-box tables default: off
* WOLFSSL_AES_NO_UNROLL: Disable AES round loop unrolling default: off
* WOLFSSL_AES_TOUCH_LINES: Touch all cache lines for default: off
@@ -812,6 +815,10 @@ block cipher mechanism that uses n-bit binary string parameter key with 128-bits
XASM_LINK("AES_256_Key_Expansion_AESNI");
#ifdef WOLFSSL_X86_64_BUILD
#if defined(USE_INTEL_SPEEDUP_FOR_AES) && !defined(USE_INTEL_SPEEDUP)
#define USE_INTEL_SPEEDUP
#endif
/* Wide ECB / CBC / CTR variants for x86_64. They share the AES-NI key
* schedule declared above and are selected at runtime from intel_flags.
* AES_CBC_decrypt_AESNI is the single max-width path (the by4/by6/by8