Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libgcrypt for openSUSE:Factory 
checked in at 2023-10-13 23:13:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgcrypt (Old)
 and      /work/SRC/openSUSE:Factory/.libgcrypt.new.20540 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgcrypt"

Fri Oct 13 23:13:57 2023 rev:98 rq:1116820 version:1.10.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libgcrypt/libgcrypt.changes      2023-05-28 
19:22:01.296668951 +0200
+++ /work/SRC/openSUSE:Factory/.libgcrypt.new.20540/libgcrypt.changes   
2023-10-13 23:14:13.890058680 +0200
@@ -1,0 +2,13 @@
+Tue Oct  3 12:58:41 UTC 2023 - Pedro Monreal <pmonr...@suse.com>
+
+- POWER: performance enhancements for cryptography [jsc#PED-5088]
+  * Optimize Chacha20 and Poly1305 for PPC P10 LE: [T6006]
+    - Chacha20/poly1305: Optimized chacha20/poly1305 for
+      P10 operation [rC88fe7ac33eb4]
+    - ppc: enable P10 assembly with ENABLE_FORCE_SOFT_HWFEATURES
+      on arch-3.00 [rC2c5e5ab6843d]
+  * Add patches:
+    - libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
+    - libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
+
+-------------------------------------------------------------------

New:
----
  libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
  libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libgcrypt.spec ++++++
--- /var/tmp/diff_new_pack.XeNXXx/_old  2023-10-13 23:14:14.506081023 +0200
+++ /var/tmp/diff_new_pack.XeNXXx/_new  2023-10-13 23:14:14.506081023 +0200
@@ -48,6 +48,9 @@
 Patch103:       libgcrypt-jitterentropy-3.4.0.patch
 #PATCH-FIX-SUSE bsc#1202117 FIPS: Get most of the entropy from rndjent_poll
 Patch104:       libgcrypt-FIPS-rndjent_poll.patch
+# POWER patches [jsc#PED-5088] POWER performance enhancements for cryptography
+Patch200:       libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
+Patch201:       libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
 BuildRequires:  automake >= 1.14
 BuildRequires:  libgpg-error-devel >= 1.27
 BuildRequires:  libtool


++++++ libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch ++++++
++++ 1994 lines (skipped)

++++++ libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch ++++++
commit 2c5e5ab6843d747c4b877d2c6f47226f61e9ff14
Author: Jussi Kivilinna <jussi.kivili...@iki.fi>
Date:   Sun Jun 12 21:51:34 2022 +0300

    ppc enable P10 assembly with ENABLE_FORCE_SOFT_HWFEATURES on arch 3.00
    
    * cipher/chacha20.c (chacha20_do_setkey) [USE_PPC_VEC]: Enable
    P10 assembly for HWF_PPC_ARCH_3_00 if ENABLE_FORCE_SOFT_HWFEATURES is
    defined.
    * cipher/poly1305.c (poly1305_init) [POLY1305_USE_PPC_VEC]: Likewise.
    * cipher/rijndael.c (do_setkey) [USE_PPC_CRYPTO_WITH_PPC9LE]: Likewise.
    ---
    
    This change allows testing P10 implementations with P9 and with QEMU-PPC.
    
    GnuPG-bug-id: 6006
    Signed-off-by: Jussi Kivilinna <jussi.kivili...@iki.fi>

Index: libgcrypt-1.10.2/cipher/chacha20.c
===================================================================
--- libgcrypt-1.10.2.orig/cipher/chacha20.c
+++ libgcrypt-1.10.2/cipher/chacha20.c
@@ -484,6 +484,11 @@ chacha20_do_setkey (CHACHA20_context_t *
   ctx->use_ppc = (features & HWF_PPC_ARCH_2_07) != 0;
 # ifndef WORDS_BIGENDIAN
   ctx->use_p10 = (features & HWF_PPC_ARCH_3_10) != 0;
+#  ifdef ENABLE_FORCE_SOFT_HWFEATURES
+  /* HWF_PPC_ARCH_3_10 above is used as soft HW-feature indicator for P10.
+   * Actual implementation works with HWF_PPC_ARCH_3_00 also. */
+  ctx->use_p10 |= (features & HWF_PPC_ARCH_3_00) != 0;
+#  endif
 # endif
 #endif
 #ifdef USE_S390X_VX
Index: libgcrypt-1.10.2/cipher/poly1305.c
===================================================================
--- libgcrypt-1.10.2.orig/cipher/poly1305.c
+++ libgcrypt-1.10.2/cipher/poly1305.c
@@ -90,11 +90,19 @@ static void poly1305_init (poly1305_cont
                           const byte key[POLY1305_KEYLEN])
 {
   POLY1305_STATE *st = &ctx->state;
+  unsigned int features = _gcry_get_hw_features ();
 
 #ifdef POLY1305_USE_PPC_VEC
-  ctx->use_p10 = (_gcry_get_hw_features () & HWF_PPC_ARCH_3_10) != 0;
+  ctx->use_p10 = (features & HWF_PPC_ARCH_3_10) != 0;
+# ifdef ENABLE_FORCE_SOFT_HWFEATURES
+  /* HWF_PPC_ARCH_3_10 above is used as soft HW-feature indicator for P10.
+   * Actual implementation works with HWF_PPC_ARCH_3_00 also. */
+  ctx->use_p10 |= (features & HWF_PPC_ARCH_3_00) != 0;
+# endif
 #endif
 
+  (void)features;
+
   ctx->leftover = 0;
 
   st->h[0] = 0;
Index: libgcrypt-1.10.2/cipher/rijndael.c
===================================================================
--- libgcrypt-1.10.2.orig/cipher/rijndael.c
+++ libgcrypt-1.10.2/cipher/rijndael.c
@@ -605,6 +605,12 @@ do_setkey (RIJNDAEL_context *ctx, const
       bulk_ops->xts_crypt = _gcry_aes_ppc9le_xts_crypt;
       if (hwfeatures & HWF_PPC_ARCH_3_10)  /* for P10 */
         bulk_ops->gcm_crypt = _gcry_aes_p10le_gcm_crypt;
+# ifdef ENABLE_FORCE_SOFT_HWFEATURES
+      /* HWF_PPC_ARCH_3_10 above is used as soft HW-feature indicator for P10.
+       * Actual implementation works with HWF_PPC_ARCH_3_00 also. */
+      if (hwfeatures & HWF_PPC_ARCH_3_00)
+        bulk_ops->gcm_crypt = _gcry_aes_p10le_gcm_crypt;
+# endif
     }
 #endif
 #ifdef USE_PPC_CRYPTO

Reply via email to