vppinfra: enable AES tests on ARM 98/40198/3
authorDamjan Marion <damarion@cisco.com>
Mon, 15 Jan 2024 10:37:33 +0000 (11:37 +0100)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Tue, 16 Jan 2024 17:40:40 +0000 (17:40 +0000)
Type: improvement
Change-Id: I30f3b2924ab219a8bace87f358b1b823e8bc83bb
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vppinfra/crypto/aes_cbc.h
src/vppinfra/test/aes_cbc.c
src/vppinfra/test/aes_ctr.c
src/vppinfra/test/aes_gcm.c

index 64bc071..cb3d078 100644 (file)
@@ -27,17 +27,10 @@ clib_aes_cbc_encrypt (const aes_cbc_key_data_t *kd, const u8 *src, uword len,
   for (int i = 0; i < len; i += 16)
     {
       int j;
-#if __x86_64__
       r = u8x16_xor3 (r, *(u8x16u *) (src + i), k[0]);
       for (j = 1; j < rounds; j++)
        r = aes_enc_round_x1 (r, k[j]);
       r = aes_enc_last_round_x1 (r, k[rounds]);
-#else
-      r ^= *(u8x16u *) (src + i);
-      for (j = 1; j < rounds - 1; j++)
-       r = vaesmcq_u8 (vaeseq_u8 (r, k[j]));
-      r = vaeseq_u8 (r, k[j]) ^ k[rounds];
-#endif
       *(u8x16u *) (dst + i) = r;
     }
 }
index bff439a..be5f8fb 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright(c) 2021 Cisco Systems, Inc.
  */
 
-#ifdef __AES__
+#if defined(__AES__) || defined(__ARM_FEATURE_CRYPTO)
 #include <vppinfra/format.h>
 #include <vppinfra/test/test.h>
 #include <vppinfra/crypto/aes_cbc.h>
index 1bf08b2..2892700 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright(c) 2024 Cisco Systems, Inc.
  */
 
-#if defined(__AES__)
+#if defined(__AES__) || defined(__ARM_FEATURE_CRYPTO)
 #include <vppinfra/format.h>
 #include <vppinfra/test/test.h>
 #include <vppinfra/crypto/aes_ctr.h>
index aeaf7cf..caa36b0 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright(c) 2021 Cisco Systems, Inc.
  */
 
-#if defined(__AES__) && defined(__PCLMUL__)
+#if (defined(__AES__) && defined(__PCLMUL__)) || defined(__ARM_FEATURE_CRYPTO)
 #include <vppinfra/format.h>
 #include <vppinfra/test/test.h>
 #include <vppinfra/crypto/aes_gcm.h>