Crypto: Init drivers first during psa_crypto_init()
Make sure that the patches for mbedcrypto are uniquely numbered
and add a patch to initialise the drivers as first step during
psa_crypto_init().
Signed-off-by: Antonio de Angelis <antonio.deangelis@arm.com>
Change-Id: I95cca2d553a2a287be791c79ee89a814c24e442c
diff --git a/lib/ext/mbedcrypto/0007-Build-Remove-encoding-width-suffix-from-Arm-bignum-a.patch b/lib/ext/mbedcrypto/0007-Build-Remove-encoding-width-suffix-from-Arm-bignum-a.patch
new file mode 100644
index 0000000..6b9a0d6
--- /dev/null
+++ b/lib/ext/mbedcrypto/0007-Build-Remove-encoding-width-suffix-from-Arm-bignum-a.patch
@@ -0,0 +1,56 @@
+From 98d7c4bc36ed72190926e3c8c045b5ce7e8c0a6f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?D=C3=A1vid=20H=C3=A1zi?= <david.hazi@arm.com>
+Date: Tue, 2 Aug 2022 14:38:32 +0200
+Subject: [PATCH 7/9] Build: Remove encoding width suffix from Arm bignum
+ assembly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Dávid Házi <david.hazi@arm.com>
+---
+ library/bn_mul.h | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/library/bn_mul.h b/library/bn_mul.h
+index 962d7a97b..20e0e53dc 100644
+--- a/library/bn_mul.h
++++ b/library/bn_mul.h
+@@ -717,10 +717,10 @@
+
+ #define MULADDC_X1_CORE \
+ ".p2align 2 \n\t" \
+- "ldr.w %[a], [%[in]], #4 \n\t" \
+- "ldr.w %[b], [%[acc]] \n\t" \
++ "ldr %[a], [%[in]], #4 \n\t" \
++ "ldr %[b], [%[acc]] \n\t" \
+ "umaal %[b], %[carry], %[scalar], %[a] \n\t" \
+- "str.w %[b], [%[acc]], #4 \n\t"
++ "str %[b], [%[acc]], #4 \n\t"
+
+ #define MULADDC_X1_STOP \
+ : [a] "=&r" (tmp_a), \
+@@ -751,14 +751,14 @@
+ * 2 cycles, while subsequent loads/stores are single-cycle. */
+ #define MULADDC_X2_CORE \
+ ".p2align 2 \n\t" \
+- "ldr.w %[a0], [%[in]], #+8 \n\t" \
+- "ldr.w %[b0], [%[acc]], #+8 \n\t" \
+- "ldr.w %[a1], [%[in], #-4] \n\t" \
+- "ldr.w %[b1], [%[acc], #-4] \n\t" \
++ "ldr %[a0], [%[in]], #+8 \n\t" \
++ "ldr %[b0], [%[acc]], #+8 \n\t" \
++ "ldr %[a1], [%[in], #-4] \n\t" \
++ "ldr %[b1], [%[acc], #-4] \n\t" \
+ "umaal %[b0], %[carry], %[scalar], %[a0] \n\t" \
+ "umaal %[b1], %[carry], %[scalar], %[a1] \n\t" \
+- "str.w %[b0], [%[acc], #-8] \n\t" \
+- "str.w %[b1], [%[acc], #-4] \n\t"
++ "str %[b0], [%[acc], #-8] \n\t" \
++ "str %[b1], [%[acc], #-4] \n\t"
+
+ #define MULADDC_X2_STOP \
+ : [a0] "=&r" (tmp_a0), \
+--
+2.25.1
+