@@ -49,6 +49,8 @@ ifeq ($(ARCH),x86_64)
4949 endif
5050 else
5151 MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64.o
52+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64_asm.o
53+ WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/cpuid.o
5254 endif
5355 endif
5456 ifeq ($(TARGET),x86_64_efi)
@@ -1474,8 +1476,27 @@ ifeq ($(ARCH),sim)
14741476 LDFLAGS+ =-m32
14751477 endif
14761478 ifeq ($(SPMATH),1)
1477- MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1478- CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1479+ ifeq ($(FORCE_32BIT),1)
1480+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1481+ CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1482+ else ifeq ($(shell uname -m),aarch64)
1483+ CFLAGS += -DARCH_AARCH64 -DFAST_MEMCPY
1484+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1485+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_arm64.o
1486+ else ifeq ($(shell uname -m),x86_64)
1487+ CFLAGS += -DARCH_x86_64 -DFAST_MEMCPY
1488+ ifeq ($(NO_ASM),1)
1489+ CFLAGS += -DNO_ASM
1490+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c64.o
1491+ else
1492+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64.o
1493+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64_asm.o
1494+ WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/cpuid.o
1495+ endif
1496+ else
1497+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1498+ CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1499+ endif
14791500 endif
14801501 ifeq ($(WOLFHSM_CLIENT),1)
14811502 WOLFHSM_OBJS += $(WOLFBOOT_LIB_WOLFHSM ) /port/posix/posix_transport_tcp.o
0 commit comments