ARMv8 Crypto Extensions compile logic

This commit is contained in:
Markku-Juhani O. Saarinen 2017-11-20 14:59:50 +00:00 committed by Hanno Becker
parent 63f213969c
commit 85123011f7
5 changed files with 26 additions and 0 deletions

View file

@ -73,6 +73,10 @@
#error "MBEDTLS_AESNI_C defined, but not all prerequisites" #error "MBEDTLS_AESNI_C defined, but not all prerequisites"
#endif #endif
#if defined(MBEDTLS_ARMV8CE_AES_C) && !defined(MBEDTLS_HAVE_ASM)
#error "MBEDTLS_ARMV8CE_AES_C defined, but not all prerequisites"
#endif
#if defined(MBEDTLS_CTR_DRBG_C) && !defined(MBEDTLS_AES_C) #if defined(MBEDTLS_CTR_DRBG_C) && !defined(MBEDTLS_AES_C)
#error "MBEDTLS_CTR_DRBG_C defined, but not all prerequisites" #error "MBEDTLS_CTR_DRBG_C defined, but not all prerequisites"
#endif #endif
@ -879,3 +883,4 @@
typedef int mbedtls_iso_c_forbids_empty_translation_units; typedef int mbedtls_iso_c_forbids_empty_translation_units;
#endif /* MBEDTLS_CHECK_CONFIG_H */ #endif /* MBEDTLS_CHECK_CONFIG_H */

View file

@ -49,6 +49,7 @@
* library/aria.c * library/aria.c
* library/timing.c * library/timing.c
* include/mbedtls/bn_mul.h * include/mbedtls/bn_mul.h
* library/armv8ce_aes.c
* *
* Required by: * Required by:
* MBEDTLS_AESNI_C * MBEDTLS_AESNI_C
@ -2149,6 +2150,21 @@
*/ */
#define MBEDTLS_AESNI_C #define MBEDTLS_AESNI_C
/**
* \def MBEDTLS_ARMV8CE_AES_C
*
* Enable ARMv8 Crypto Extensions for AES and GCM
*
* Module: library/aesni.c
* Caller: library/aes.c
* library/gcm.c
*
* Requires: MBEDTLS_HAVE_ASM
*
* This module utilizes ARMv8 Crypto Extensions for AES and GCM
*/
//#define MBEDTLS_ARMV8CE_AES_C
/** /**
* \def MBEDTLS_AES_C * \def MBEDTLS_AES_C
* *

View file

@ -15,6 +15,7 @@ set(src_crypto
aesni.c aesni.c
arc4.c arc4.c
aria.c aria.c
armv8ce_aes.c
asn1parse.c asn1parse.c
asn1write.c asn1write.c
base64.c base64.c

View file

@ -72,6 +72,7 @@ OBJS_CRYPTO= \
aesni.o \ aesni.o \
arc4.o \ arc4.o \
aria.o \ aria.o \
armv8ce_aes.o \
asn1parse.o \ asn1parse.o \
asn1write.o \ asn1write.o \
base64.o \ base64.o \

View file

@ -600,6 +600,9 @@ static const char * const features[] = {
#if defined(MBEDTLS_AESNI_C) #if defined(MBEDTLS_AESNI_C)
"MBEDTLS_AESNI_C", "MBEDTLS_AESNI_C",
#endif /* MBEDTLS_AESNI_C */ #endif /* MBEDTLS_AESNI_C */
#if defined(MBEDTLS_ARMV8CE_AES_C)
"MBEDTLS_ARMV8CE_AES_C",
#endif /* MBEDTLS_ARMV8CE_AES_C */
#if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_AES_C)
"MBEDTLS_AES_C", "MBEDTLS_AES_C",
#endif /* MBEDTLS_AES_C */ #endif /* MBEDTLS_AES_C */