Merge pull request #2442 from JacobBarthelmeh/HardwareAcc

build fix for aesccm + devcrypto=cbc + wpas and afalg
This commit is contained in:
toddouska
2019-09-03 15:42:41 -07:00
committed by GitHub
2 changed files with 9 additions and 13 deletions

View File

@ -1046,6 +1046,10 @@ AC_ARG_ENABLE([afalg],
if test "$ENABLED_AFALG" = "yes" if test "$ENABLED_AFALG" = "yes"
then then
if test "$ENABLED_AESCCM" = "yes"
then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AES_DIRECT"
fi
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG"
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_HASH" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_HASH"
fi fi

View File

@ -759,7 +759,9 @@
} }
#endif /* HAVE_AES_DECRYPT */ #endif /* HAVE_AES_DECRYPT */
#elif defined(WOLFSSL_IMX6_CAAM) && !defined(NO_IMX6_CAAM_AES) #elif (defined(WOLFSSL_IMX6_CAAM) && !defined(NO_IMX6_CAAM_AES)) || \
((defined(WOLFSSL_AFALG) || defined(WOLFSSL_DEVCRYPTO_AES)) && \
defined(HAVE_AESCCM))
static int wc_AesEncrypt(Aes* aes, const byte* inBlock, byte* outBlock) static int wc_AesEncrypt(Aes* aes, const byte* inBlock, byte* outBlock)
{ {
wc_AesEncryptDirect(aes, outBlock, inBlock); wc_AesEncryptDirect(aes, outBlock, inBlock);
@ -768,16 +770,6 @@
#elif defined(WOLFSSL_AFALG) #elif defined(WOLFSSL_AFALG)
#elif defined(WOLFSSL_DEVCRYPTO_AES) #elif defined(WOLFSSL_DEVCRYPTO_AES)
/* if all AES is enabled with devcrypto then tables are not needed */
#if defined(HAVE_AESCCM)
static int wc_AesEncrypt(Aes* aes, const byte* inBlock, byte* outBlock)
{
wc_AesEncryptDirect(aes, outBlock, inBlock);
return 0;
}
#endif
#else #else
/* using wolfCrypt software implementation */ /* using wolfCrypt software implementation */
@ -1593,8 +1585,8 @@ static void wc_AesEncrypt(Aes* aes, const byte* inBlock, byte* outBlock)
#endif /* HAVE_AES_CBC || WOLFSSL_AES_DIRECT || HAVE_AESGCM */ #endif /* HAVE_AES_CBC || WOLFSSL_AES_DIRECT || HAVE_AESGCM */
#if defined(HAVE_AES_DECRYPT) #if defined(HAVE_AES_DECRYPT)
#if (defined(HAVE_AES_CBC) || defined(WOLFSSL_AES_DIRECT)) && \ #if (defined(HAVE_AES_CBC) && !defined(WOLFSSL_DEVCRYPTO_CBC)) || \
!defined(WOLFSSL_DEVCRYPTO_CBC) defined(WOLFSSL_AES_DIRECT)
/* load 4 Td Tables into cache by cache line stride */ /* load 4 Td Tables into cache by cache line stride */
static WC_INLINE word32 PreFetchTd(void) static WC_INLINE word32 PreFetchTd(void)