File 0007-libgcrypt-Add-hardware-acceleration-for-gcry_sha256.patch of Package grub2

From dcd24c9c0bcbe327f54455292fc6fd5a0480e907 Mon Sep 17 00:00:00 2001
From: Gary Lin <glin@suse.com>
Date: Fri, 18 Jul 2025 15:30:39 +0800
Subject: [PATCH 7/8] libgcrypt: Add hardware acceleration for gcry_sha256

Enable hardware acceleration for the gcry_sha256 module when building
for the x86_64 EFI target.

Signed-off-by: Gary Lin <glin@suse.com>
---
 conf/Makefile.extra-dist                      |  1 +
 .../15_build_x86_64_efi_opt_code.patch        | 43 +++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 grub-core/lib/libgcrypt-patches/15_build_x86_64_efi_opt_code.patch

Index: grub-2.12/conf/Makefile.extra-dist
===================================================================
--- grub-2.12.orig/conf/Makefile.extra-dist
+++ grub-2.12/conf/Makefile.extra-dist
@@ -45,6 +45,7 @@ EXTRA_DIST += grub-core/lib/libgcrypt-pa
 EXTRA_DIST += grub-core/lib/libgcrypt-patches/12-kdf-include-compiler-rt.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_x86_64_efi_opt_code.patch
 
 EXTRA_DIST += grub-core/lib/libgcrypt
 EXTRA_DIST += grub-core/lib/libgcrypt-grub/mpi/generic
Index: grub-2.12/grub-core/lib/libgcrypt-patches/15_build_x86_64_efi_opt_code.patch
===================================================================
--- /dev/null
+++ grub-2.12/grub-core/lib/libgcrypt-patches/15_build_x86_64_efi_opt_code.patch
@@ -0,0 +1,43 @@
+From 3443b213bb87112144d753678d0f1bbbc72b2b7a Mon Sep 17 00:00:00 2001
+From: Gary Lin <glin@suse.com>
+Date: Fri, 18 Jul 2025 15:23:25 +0800
+Subject: [PATCH 3/3] libgcrypt: Add hardware acceleration for gcry_sha256
+
+Enable hardware acceleration for the gcry_sha256 module when building
+for the x86_64 EFI target.
+
+Signed-off-by: Gary Lin <glin@suse.com>
+---
+ grub-core/Makefile.gcry.def | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/Makefile.gcry.def b/grub-core/Makefile.gcry.def
+index c8caf17dc..ac1d9a088 100644
+--- a/grub-core/Makefile.gcry.def
++++ b/grub-core/Makefile.gcry.def
+@@ -17,6 +17,7 @@ module = {
+ module = {
+   name = gcry_blake2;
+   common = lib/libgcrypt-grub/cipher/blake2.c;
++
+   cflags = '$(CFLAGS_GCRY)';
+   cppflags = '$(CPPFLAGS_GCRY)';
+ };
+@@ -172,8 +173,13 @@ module = {
+ module = {
+   name = gcry_sha256;
+   common = lib/libgcrypt-grub/cipher/sha256.c;
++  x86_64_efi = lib/libgcrypt-grub/cipher/sha256-ssse3-amd64.S;
++  x86_64_efi = lib/libgcrypt-grub/cipher/sha256-avx-amd64.S;
++  x86_64_efi = lib/libgcrypt-grub/cipher/sha256-avx2-bmi2-amd64.S;
++  x86_64_efi = lib/libgcrypt-grub/cipher/sha256-intel-shaext.c;
++
+   cflags = '$(CFLAGS_GCRY) -Wno-cast-align';
+-  cppflags = '$(CPPFLAGS_GCRY)';
++  cppflags = '$(CPPFLAGS_GCRY) -DUSE_SHA256 $(CPPFLAGS_GCRY_ASM)';
+ };
+ 
+ module = {
+-- 
+2.43.0
+
openSUSE Build Service is sponsored by