diff options
author | Nathan Lewis <[email protected]> | 2018-08-02 11:59:24 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-08-02 11:59:24 -0700 |
commit | 010d12474cb1572c0c9b729615fa45cf43f59d14 (patch) | |
tree | 90decc0e3097d799852e8befeb7d6b8a1a5f4be8 /module/icp/Makefile.in | |
parent | 3d503a76e890d7711d5e906e025e092d0e244211 (diff) |
Add support for selecting encryption backend
- Add two new module parameters to icp (icp_aes_impl, icp_gcm_impl)
that control the crypto implementation. At the moment there is a
choice between generic and aesni (on platforms that support it).
- This enables support for AES-NI and PCLMULQDQ-NI on AMD Family
15h (bulldozer) and newer CPUs (zen).
- Modify aes_key_t to track what implementation it was generated
with as key schedules generated with various implementations
are not necessarily interchangable.
Reviewed by: Gvozden Neskovic <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Richard Laager <[email protected]>
Signed-off-by: Nathaniel R. Lewis <[email protected]>
Closes #7102
Closes #7103
Diffstat (limited to 'module/icp/Makefile.in')
-rw-r--r-- | module/icp/Makefile.in | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/module/icp/Makefile.in b/module/icp/Makefile.in index cfe913e1d..18e8dc313 100644 --- a/module/icp/Makefile.in +++ b/module/icp/Makefile.in @@ -8,8 +8,8 @@ TARGET_ASM_DIR = @TARGET_ASM_DIR@ ifeq ($(TARGET_ASM_DIR), asm-x86_64) ASM_SOURCES := asm-x86_64/aes/aeskey.o ASM_SOURCES += asm-x86_64/aes/aes_amd64.o -ASM_SOURCES += asm-x86_64/aes/aes_intel.o -ASM_SOURCES += asm-x86_64/modes/gcm_intel.o +ASM_SOURCES += asm-x86_64/aes/aes_aesni.o +ASM_SOURCES += asm-x86_64/modes/gcm_pclmulqdq.o ASM_SOURCES += asm-x86_64/sha1/sha1-x86_64.o ASM_SOURCES += asm-x86_64/sha2/sha256_impl.o ASM_SOURCES += asm-x86_64/sha2/sha512_impl.o @@ -53,8 +53,10 @@ $(MODULE)-objs += algs/modes/cbc.o $(MODULE)-objs += algs/modes/ccm.o $(MODULE)-objs += algs/modes/ctr.o $(MODULE)-objs += algs/modes/ecb.o +$(MODULE)-objs += algs/modes/gcm_generic.o $(MODULE)-objs += algs/modes/gcm.o $(MODULE)-objs += algs/modes/modes.o +$(MODULE)-objs += algs/aes/aes_impl_generic.o $(MODULE)-objs += algs/aes/aes_impl.o $(MODULE)-objs += algs/aes/aes_modes.o $(MODULE)-objs += algs/edonr/edonr.o @@ -66,6 +68,10 @@ $(MODULE)-objs += algs/skein/skein_block.o $(MODULE)-objs += algs/skein/skein_iv.o $(MODULE)-objs += $(ASM_SOURCES) +$(MODULE)-$(CONFIG_X86) += algs/modes/gcm_pclmulqdq.o +$(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_aesni.o +$(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_x86-64.o + ICP_DIRS = \ api \ core \ |