@@ -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)
@@ -1470,8 +1472,27 @@ ifeq ($(ARCH),sim)
14701472 LDFLAGS+ =-m32
14711473 endif
14721474 ifeq ($(SPMATH),1)
1473- MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1474- CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1475+ ifeq ($(FORCE_32BIT),1)
1476+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1477+ CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1478+ else ifeq ($(shell uname -m),aarch64)
1479+ CFLAGS += -DARCH_AARCH64 -DFAST_MEMCPY
1480+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1481+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_arm64.o
1482+ else ifeq ($(shell uname -m),x86_64)
1483+ CFLAGS += -DARCH_x86_64 -DFAST_MEMCPY
1484+ ifeq ($(NO_ASM),1)
1485+ CFLAGS += -DNO_ASM
1486+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c64.o
1487+ else
1488+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64.o
1489+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_x86_64_asm.o
1490+ WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/cpuid.o
1491+ endif
1492+ else
1493+ MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL ) /wolfcrypt/src/sp_c32.o
1494+ CFLAGS+ =-DWOLFSSL_SP_DIV_WORD_HALF
1495+ endif
14751496 endif
14761497 ifeq ($(WOLFHSM_CLIENT),1)
14771498 WOLFHSM_OBJS += $(WOLFBOOT_LIB_WOLFHSM ) /port/posix/posix_transport_tcp.o
0 commit comments