From f978b433e68b0306404deb287be379c384d69657 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Fri, 11 Feb 2022 17:36:01 +0000 Subject: [PATCH] kernel: aarch64: enable armv8 optimized crypto Signed-off-by: Arne Fitzenreiter --- config/kernel/kernel.config.aarch64-ipfire | 43 ++++++++++---------- config/rootfiles/common/aarch64/linux | 46 ++++++++++++++++++++++ 2 files changed, 69 insertions(+), 20 deletions(-) diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire index fbde24e0f2..6728fa7f35 100644 --- a/config/kernel/kernel.config.aarch64-ipfire +++ b/config/kernel/kernel.config.aarch64-ipfire @@ -557,7 +557,7 @@ CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_ARMADA_37XX_CPUFREQ=m CONFIG_ARM_ARMADA_8K_CPUFREQ=m CONFIG_ARM_IMX_CPUFREQ_DT=m -# CONFIG_ARM_SCMI_CPUFREQ is not set +CONFIG_ARM_SCMI_CPUFREQ=m # end of CPU Frequency scaling # end of CPU Power Management @@ -620,25 +620,25 @@ CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y CONFIG_KVM_XFER_TO_GUEST_WORK=y # CONFIG_NVHE_EL2_DEBUG is not set CONFIG_ARM64_CRYPTO=y -# CONFIG_CRYPTO_SHA256_ARM64 is not set -# CONFIG_CRYPTO_SHA512_ARM64 is not set -# CONFIG_CRYPTO_SHA1_ARM64_CE is not set -# CONFIG_CRYPTO_SHA2_ARM64_CE is not set -# CONFIG_CRYPTO_SHA512_ARM64_CE is not set -# CONFIG_CRYPTO_SHA3_ARM64 is not set -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -# CONFIG_CRYPTO_GHASH_ARM64_CE is not set -# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set -# CONFIG_CRYPTO_AES_ARM64 is not set -# CONFIG_CRYPTO_AES_ARM64_CE is not set -# CONFIG_CRYPTO_AES_ARM64_CE_CCM is not set -# CONFIG_CRYPTO_AES_ARM64_CE_BLK is not set -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set +CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA3_ARM64=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_SM4_ARM64_CE=m +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m CONFIG_CRYPTO_CHACHA20_NEON=m CONFIG_CRYPTO_POLY1305_NEON=m -# CONFIG_CRYPTO_NHPOLY1305_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set +CONFIG_CRYPTO_NHPOLY1305_NEON=m +CONFIG_CRYPTO_AES_ARM64_BS=m # # General architecture-dependent options @@ -7630,6 +7630,7 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_SIMD=m CONFIG_CRYPTO_ENGINE=m # @@ -7667,6 +7668,7 @@ CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m # CONFIG_CRYPTO_KEYWRAP is not set +CONFIG_CRYPTO_NHPOLY1305=m # CONFIG_CRYPTO_ADIANTUM is not set CONFIG_CRYPTO_ESSIV=m @@ -7696,8 +7698,8 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y -# CONFIG_CRYPTO_SHA3 is not set -# CONFIG_CRYPTO_SM3 is not set +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SM3=m # CONFIG_CRYPTO_STREEBOG is not set CONFIG_CRYPTO_WP512=m @@ -7772,6 +7774,7 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_SM4=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_ALLWINNER=y # CONFIG_CRYPTO_DEV_SUN4I_SS is not set diff --git a/config/rootfiles/common/aarch64/linux b/config/rootfiles/common/aarch64/linux index e966afe275..ca87c55c55 100644 --- a/config/rootfiles/common/aarch64/linux +++ b/config/rootfiles/common/aarch64/linux @@ -6604,6 +6604,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/ARM_PMU_ACPI #lib/modules/KVER-ipfire/build/include/config/ARM_PSCI_FW #lib/modules/KVER-ipfire/build/include/config/ARM_RK3399_DMC_DEVFREQ +#lib/modules/KVER-ipfire/build/include/config/ARM_SCMI_CPUFREQ #lib/modules/KVER-ipfire/build/include/config/ARM_SCMI_HAVE_MSG #lib/modules/KVER-ipfire/build/include/config/ARM_SCMI_HAVE_SHMEM #lib/modules/KVER-ipfire/build/include/config/ARM_SCMI_HAVE_TRANSPORT @@ -7037,6 +7038,12 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_AEAD #lib/modules/KVER-ipfire/build/include/config/CRYPTO_AEAD2 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64_BS +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64_CE +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64_CE_BLK +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64_CE_CCM +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_AES_ARM64_NEON_BLK #lib/modules/KVER-ipfire/build/include/config/CRYPTO_AKCIPHER #lib/modules/KVER-ipfire/build/include/config/CRYPTO_AKCIPHER2 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_ALGAPI @@ -7063,6 +7070,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CRC32 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CRC32C #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CRCT10DIF +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_CRCT10DIF_ARM64_CE #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CRYPTD #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CTR #lib/modules/KVER-ipfire/build/include/config/CRYPTO_CTS @@ -7086,6 +7094,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_GCM #lib/modules/KVER-ipfire/build/include/config/CRYPTO_GF128MUL #lib/modules/KVER-ipfire/build/include/config/CRYPTO_GHASH +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_GHASH_ARM64_CE #lib/modules/KVER-ipfire/build/include/config/CRYPTO_HASH #lib/modules/KVER-ipfire/build/include/config/CRYPTO_HASH2 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_HASH_INFO @@ -7109,6 +7118,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LIB_POLY1305_GENERIC #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LIB_POLY1305_RSIZE #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LIB_SHA256 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_LIB_SM4 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LRW #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LZ4 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_LZ4HC @@ -7118,6 +7128,8 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_MD4 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_MD5 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_MICHAEL_MIC +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_NHPOLY1305 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_NHPOLY1305_NEON #lib/modules/KVER-ipfire/build/include/config/CRYPTO_NULL #lib/modules/KVER-ipfire/build/include/config/CRYPTO_NULL2 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_PCBC @@ -7133,10 +7145,21 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SEQIV #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SERPENT #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA1 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA1_ARM64_CE #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA256 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA256_ARM64 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA2_ARM64_CE +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA3 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA3_ARM64 #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA512 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA512_ARM64 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SHA512_ARM64_CE +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SIMD #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SKCIPHER #lib/modules/KVER-ipfire/build/include/config/CRYPTO_SKCIPHER2 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SM3 +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SM3_ARM64_CE +#lib/modules/KVER-ipfire/build/include/config/CRYPTO_SM4_ARM64_CE #lib/modules/KVER-ipfire/build/include/config/CRYPTO_TEA #lib/modules/KVER-ipfire/build/include/config/CRYPTO_TEST #lib/modules/KVER-ipfire/build/include/config/CRYPTO_TWOFISH @@ -18246,8 +18269,25 @@ lib/modules/KVER-ipfire/kernel #lib/modules/KVER-ipfire/kernel/arch #lib/modules/KVER-ipfire/kernel/arch/arm64 #lib/modules/KVER-ipfire/kernel/arch/arm64/crypto +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-arm64.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-ce-blk.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-ce-ccm.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-ce-cipher.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-neon-blk.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/aes-neon-bs.ko.xz #lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/chacha-neon.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/crct10dif-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/ghash-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/nhpoly1305-neon.ko.xz #lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/poly1305-neon.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha1-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha2-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha256-arm64.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha3-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha512-arm64.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sha512-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sm3-ce.ko.xz +#lib/modules/KVER-ipfire/kernel/arch/arm64/crypto/sm4-ce.ko.xz #lib/modules/KVER-ipfire/kernel/arch/arm64/lib #lib/modules/KVER-ipfire/kernel/arch/arm64/lib/xor-neon.ko.xz #lib/modules/KVER-ipfire/kernel/crypto @@ -18276,6 +18316,7 @@ lib/modules/KVER-ipfire/kernel #lib/modules/KVER-ipfire/kernel/crypto/chacha_generic.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/cmac.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/crypto_engine.ko.xz +#lib/modules/KVER-ipfire/kernel/crypto/crypto_simd.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/cts.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/ecdh_generic.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/echainiv.ko.xz @@ -18292,12 +18333,15 @@ lib/modules/KVER-ipfire/kernel #lib/modules/KVER-ipfire/kernel/crypto/lzo.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/md4.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/michael_mic.ko.xz +#lib/modules/KVER-ipfire/kernel/crypto/nhpoly1305.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/pcbc.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/pcrypt.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/poly1305_generic.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/rmd160.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/seed.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/serpent_generic.ko.xz +#lib/modules/KVER-ipfire/kernel/crypto/sha3_generic.ko.xz +#lib/modules/KVER-ipfire/kernel/crypto/sm3_generic.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/tcrypt.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/tea.ko.xz #lib/modules/KVER-ipfire/kernel/crypto/twofish_common.ko.xz @@ -18383,6 +18427,7 @@ lib/modules/KVER-ipfire/kernel #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/armada-8k-cpufreq.ko.xz #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/cppc_cpufreq.ko.xz #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/imx-cpufreq-dt.ko.xz +#lib/modules/KVER-ipfire/kernel/drivers/cpufreq/scmi-cpufreq.ko.xz #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/sun50i-cpufreq-nvmem.ko.xz #lib/modules/KVER-ipfire/kernel/drivers/crypto #lib/modules/KVER-ipfire/kernel/drivers/crypto/amlogic @@ -20478,6 +20523,7 @@ lib/modules/KVER-ipfire/kernel #lib/modules/KVER-ipfire/kernel/lib/crypto/libcurve25519-generic.ko.xz #lib/modules/KVER-ipfire/kernel/lib/crypto/libcurve25519.ko.xz #lib/modules/KVER-ipfire/kernel/lib/crypto/libpoly1305.ko.xz +#lib/modules/KVER-ipfire/kernel/lib/crypto/libsm4.ko.xz #lib/modules/KVER-ipfire/kernel/lib/lz4 #lib/modules/KVER-ipfire/kernel/lib/lz4/lz4_compress.ko.xz #lib/modules/KVER-ipfire/kernel/lib/lz4/lz4hc_compress.ko.xz -- 2.39.5