Re: [PATCH v3 11/15] crypto: x86/aes-kl - Support AES algorithm using Key Locker instructions
From: Bae, Chang Seok <hidden>
Date: 2021-12-06 21:32:45
Also in:
lkml
On Dec 2, 2021, at 06:21, Peter Zijlstra [off-list ref] wrote:
On Wed, Nov 24, 2021 at 12:06:56PM -0800, Chang S. Bae wrote:quoted
+ encodekey256 %eax, %eaxSo this thing uses the fancy new keylocker instructions, however:quoted
diff --git a/crypto/Kconfig b/crypto/Kconfig index 285f82647d2b..784a04433549 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig@@ -1113,6 +1113,50 @@ config CRYPTO_AES_NI_INTELECB, CBC, LRW, XTS. The 64 bit version has additional acceleration for CTR. +config CRYPTO_AES_KL + tristate "AES cipher algorithms (AES-KL)" + depends on (LD_VERSION >= 23600) || (LLD_VERSION >= 120000) + depends on DM_CRYPT + select X86_KEYLOCKER + select CRYPTO_AES_NI_INTELThere is no dependency on the compiler actually supporting them.. config AS_HAS_KEYLOCKER def_bool $(as-instr,encodekey256) depends on AS_HAS_KEYLOCKER Hmm?
Well, LD_VERSION reflects the binutils version.
But yes, the as-instr macro looks to be useful here:
+config AS_HAS_KEYLOCKER
+ def_bool $(as-instr,encodekey256 %eax$(comma)%eax)
+ help
+ Supported by binutils >=2.36 and LLVM integrated assembler >= V12
+
config CRYPTO_AES_KL
tristate "AES cipher algorithms (AES-KL)"
- depends on (LD_VERSION >= 23600) || (LLD_VERSION >= 120000)
+ depends on AS_HAS_KEYLOCKER
Thanks,
Chang