Skip to content

Commit aa7376e

Browse files
committed
Update wolfHSM pointer, fix minor issues
1 parent 5222385 commit aa7376e

7 files changed

Lines changed: 38 additions & 11 deletions

File tree

arch.mk

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

hal/sim.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,7 @@ whCommServerConfig cs_conf[1] = {{
170170
}};
171171

172172
/* Crypto context */
173-
whServerCryptoContext crypto[1] = {{
174-
.devId = INVALID_DEVID,
175-
}};
173+
whServerCryptoContext crypto[1] = {0};
176174

177175
#if defined(WOLFHSM_CFG_SHE_EXTENSION)
178176
whServerSheContext she[1] = {{0}};

include/target.h.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,13 @@
3737
#ifdef WOLFBOOT_FIXED_PARTITIONS
3838

3939
#if defined(ARCH_SIM) && !defined(WOLFBOOT_PARTITION_FILENAME)
40+
#ifndef __ASSEMBLER__
4041
#include <stdint.h>
4142
/* use runtime ram base for simulator */
4243
extern uint8_t *sim_ram_base;
4344
#undef ARCH_FLASH_OFFSET
4445
#define ARCH_FLASH_OFFSET ((size_t)sim_ram_base)
46+
#endif /* !__ASSEMBLER__ */
4547
#define WOLFBOOT_PART_USE_ARCH_OFFSET
4648
#endif
4749

include/user_settings.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
/* Stdlib Types */
4747
#define CTYPE_USER /* don't let wolfCrypt types.h include ctype.h */
4848

49-
#ifndef WOLFSSL_ARMASM
49+
#if !defined(WOLFSSL_ARMASM) && !defined(__ASSEMBLER__)
5050
#ifndef toupper
5151
extern int toupper(int c);
5252
#endif
@@ -146,7 +146,6 @@ extern int tolower(int c);
146146
#endif
147147
# define WOLFSSL_SP_MATH
148148
# define WOLFSSL_SP_SMALL
149-
# define SP_WORD_SIZE 32
150149
# define WOLFSSL_HAVE_SP_ECC
151150
# define WOLFSSL_KEY_GEN
152151
# define HAVE_ECC_KEY_EXPORT
@@ -342,9 +341,11 @@ extern int tolower(int c);
342341
# elif defined(ARCH_RISCV64)
343342
# define HAVE___UINT128_T
344343
# define SP_WORD_SIZE 64
345-
# elif defined(ARCH_x86_64) && !defined(FORCE_32BIT)
344+
# elif (defined(ARCH_x86_64) || defined(__x86_64__) || defined(_M_X64)) && \
345+
!defined(FORCE_32BIT)
346+
# define HAVE___UINT128_T
346347
# define SP_WORD_SIZE 64
347-
# ifndef NO_ASM
348+
# if !defined(NO_ASM) && !defined(WOLFSSL_SP_NO_2048)
348349
# define WOLFSSL_SP_X86_64_ASM
349350
# endif
350351
# else

lib/wolfHSM

Submodule wolfHSM updated 120 files

lib/wolfssl

Submodule wolfssl updated 1619 files

test-app/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -959,6 +959,11 @@ $(WOLFSSL_LOCAL_OBJDIR)/%.o: %.c
959959
$(Q)mkdir -p $(dir $@)
960960
$(Q)$(CC) $(WOLFSSL_CFLAGS) -c $(OUTPUT_FLAG) $@ $<
961961

962+
$(WOLFSSL_LOCAL_OBJDIR)/%.o: %.S
963+
@echo "\t[AS-$(ARCH)] $@"
964+
$(Q)mkdir -p $(dir $@)
965+
$(Q)$(CC) $(WOLFSSL_CFLAGS) -c $(OUTPUT_FLAG) $@ $<
966+
962967
clean:
963968
$(Q)rm -f *.bin *.elf tags *.o $(LSCRIPT) $(APP_OBJS) wcs/*.o
964969
$(Q)rm -rf $(WOLFSSL_LOCAL_OBJDIR)

0 commit comments

Comments
 (0)