Skip to content

Commit 985de1a

Browse files
committed
Performance tuning for TrustZone enabled test-app. Add SP and Cortex-M ECC/DH. Disable crypto callback tests. Disable RSA key gen. Only ECC P256/P384.
1 parent 3f6f6b5 commit 985de1a

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

arch.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ ifeq ($(ARCH),AARCH64)
101101
MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_c32.o
102102
MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_arm64.o
103103
endif
104-
ifeq ($(NO_ARM_ASM),0)
104+
ifneq ($(NO_ARM_ASM),1)
105105
ARCH_FLAGS=-mstrict-align
106106
CFLAGS+=$(ARCH_FLAGS) -DWOLFSSL_ARMASM -DWOLFSSL_ARMASM_INLINE -DWC_HASH_DATA_ALIGNMENT=8 -DWOLFSSL_AARCH64_PRIVILEGE_MODE
107107
WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/cpuid.o \
@@ -302,7 +302,6 @@ else
302302
$(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/port/arm/thumb2-chacha-asm.o \
303303
$(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/port/arm/thumb2-chacha-asm_c.o
304304

305-
306305
CORTEXM_ARM_EXTRA_CFLAGS+=-DWOLFSSL_ARMASM -DWOLFSSL_ARMASM_NO_HW_CRYPTO \
307306
-DWOLFSSL_ARMASM_NO_NEON -DWOLFSSL_ARMASM_THUMB2
308307
endif

test-app/Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,15 @@ ifeq ($(TZEN),1)
114114
APP_OBJS+=./wcs/coding.o
115115
APP_OBJS+=./wcs/wc_encrypt.o
116116
APP_OBJS+=./wcs/wc_port.o
117+
118+
ifeq ($(SPMATH),1)
119+
CFLAGS+=-DWOLFSSL_HAVE_SP_RSA -DWOLFSSL_HAVE_SP_ECC
120+
ifneq ($(NO_ASM),1)
121+
CFLAGS+=-fomit-frame-pointer # required with debug builds only
122+
CFLAGS+=-DWOLFSSL_SP_ARM_CORTEX_M_ASM
123+
APP_OBJS+=./wcs/sp_cortexm.o
124+
endif
125+
endif
117126
endif
118127
CFLAGS+=-DWOLFBOOT_SECURE_CALLS -Wstack-usage=19184
119128
LDFLAGS+=--specs=nosys.specs -u _printf_float

test-app/wcs/user_settings.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,17 @@ extern int tolower(int c);
5454

5555

5656
/* ECC */
57+
#define ECC_USER_CURVES
5758
#define HAVE_ECC
58-
#define HAVE_ECC256
59+
#undef NO_ECC256
5960
#define HAVE_ECC384
60-
61+
#ifdef WOLFSSL_HAVE_SP_ECC
62+
#define WOLFSSL_SP_384
63+
#endif
6164

6265
#ifndef NO_RSA
6366
/* RSA */
6467
#define HAVE_RSA
65-
#define WOLFSSL_KEY_GEN
6668
#define RSA_LOW_MEM
6769
#define WOLFSSL_RSA_VERIFY_INLINE
6870
#define WC_ASN_HASH_SHA256
@@ -102,6 +104,9 @@ extern int tolower(int c);
102104
#define WOLFSSL_AES_DIRECT
103105
#endif
104106

107+
#define HAVE_AESGCM
108+
#define GCM_TABLE_4BIT
109+
105110
/* Hardening */
106111
#define TFM_TIMING_RESISTANT
107112
#define ECC_TIMING_RESISTANT
@@ -134,6 +139,7 @@ extern int tolower(int c);
134139
#define NO_ERROR_STRINGS
135140
#define NO_KDF
136141

142+
#define WC_TEST_NO_CRYPTOCB_SW_TEST
137143
#define BENCH_EMBEDDED
138144

139145
#ifdef SECURE_PKCS11

0 commit comments

Comments
 (0)