From f8f68f14ae540c7981f5ecbb9bbfa4dc76f45aeb Mon Sep 17 00:00:00 2001 From: Gary Lin Date: Wed, 22 Oct 2025 09:28:59 +0800 Subject: [PATCH] libgcrypt: Add hardware acceleration for gcry_sha512 Enable hardware acceleration for the gcry_sha512 module when building for the x86_64 EFI target. Signed-off-by: Gary Lin Reviewed-by: Daniel Kiper --- conf/Makefile.extra-dist | 1 + .../16_build_sha512_x86_64_efi_opt_code.patch | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 grub-core/lib/libgcrypt-patches/16_build_sha512_x86_64_efi_opt_code.patch diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist index f524f944b..846d45341 100644 --- a/conf/Makefile.extra-dist +++ b/conf/Makefile.extra-dist @@ -50,6 +50,7 @@ EXTRA_DIST += grub-core/lib/libgcrypt-patches/12-kdf-use-grub_divmod64.patch EXTRA_DIST += grub-core/lib/libgcrypt-patches/13_add_hwfeatures.patch EXTRA_DIST += grub-core/lib/libgcrypt-patches/14_fix_build_shaext.patch EXTRA_DIST += grub-core/lib/libgcrypt-patches/15_build_sha256_x86_64_efi_opt_code.patch +EXTRA_DIST += grub-core/lib/libgcrypt-patches/16_build_sha512_x86_64_efi_opt_code.patch EXTRA_DIST += grub-core/lib/libtasn1-patches/0001-libtasn1-disable-code-not-needed-in-grub.patch EXTRA_DIST += grub-core/lib/libtasn1-patches/0002-libtasn1-replace-strcat-with-strcpy-in-_asn1_str_cat.patch diff --git a/grub-core/lib/libgcrypt-patches/16_build_sha512_x86_64_efi_opt_code.patch b/grub-core/lib/libgcrypt-patches/16_build_sha512_x86_64_efi_opt_code.patch new file mode 100644 index 000000000..9cdde8830 --- /dev/null +++ b/grub-core/lib/libgcrypt-patches/16_build_sha512_x86_64_efi_opt_code.patch @@ -0,0 +1,35 @@ +From f62c2c7565237bbf059220e90d3f1f8c8d6eebd5 Mon Sep 17 00:00:00 2001 +From: Gary Lin +Date: Wed, 3 Sep 2025 16:26:55 +0800 +Subject: [PATCH 4/4] libgcrypt: Add hardware acceleration for gcry_sha512 + +Enable hardware acceleration for the gcry_sha512 module when building +for the x86_64 EFI target. + +Signed-off-by: Gary Lin +--- + grub-core/Makefile.gcry.def | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/grub-core/Makefile.gcry.def b/grub-core/Makefile.gcry.def +index ac1d9a088..64ea5ee24 100644 +--- a/grub-core/Makefile.gcry.def ++++ b/grub-core/Makefile.gcry.def +@@ -186,8 +186,13 @@ module = { + name = gcry_sha512; + common = lib/libgcrypt-grub/cipher/sha512.c; + common = lib/libgcrypt-grub/cipher/hash-common.c; ++ x86_64_efi = lib/libgcrypt-grub/cipher/sha512-ssse3-amd64.S; ++ x86_64_efi = lib/libgcrypt-grub/cipher/sha512-avx-amd64.S; ++ x86_64_efi = lib/libgcrypt-grub/cipher/sha512-avx2-bmi2-amd64.S; ++ x86_64_efi = lib/libgcrypt-grub/cipher/sha512-avx512-amd64.S; ++ + cflags = '$(CFLAGS_GCRY) -Wno-cast-align'; +- cppflags = '$(CPPFLAGS_GCRY)'; ++ cppflags = '$(CPPFLAGS_GCRY) -DUSE_SHA512 $(CPPFLAGS_GCRY_ASM)'; + }; + + module = { +-- +2.51.0 + -- 2.47.3