@@ -148,6 +148,9 @@ extern ${variable.value} ${variable.name};
148148 #define HAL_CONSOLE_UART huart2
149149 #define NO_STM32_RNG
150150 #define WOLFSSL_GENSEED_FORTEST /* no HW RNG is available use test seed */
151+ #elif defined(STM32G491xx)
152+ #define WOLFSSL_STM32G4
153+ #define HAL_CONSOLE_UART hlpuart1
151154#elif defined(STM32U575xx) || defined(STM32U585xx) || defined(STM32U5A9xx)
152155 #define HAL_CONSOLE_UART huart1
153156 #define WOLFSSL_STM32U5
@@ -169,7 +172,7 @@ extern ${variable.value} ${variable.name};
169172 /* You need to define a CPU type, HW crypto and debug UART */
170173 /* CPU Type: WOLFSSL_STM32F1, WOLFSSL_STM32F2, WOLFSSL_STM32F4,
171174 WOLFSSL_STM32F7, WOLFSSL_STM32H7, WOLFSSL_STM32L4, WOLFSSL_STM32L5,
172- WOLFSSL_STM32G0, WOLFSSL_STM32WB and WOLFSSL_STM32U5 */
175+ WOLFSSL_STM32G0, WOLFSSL_STM32G4, WOLFSSL_STM32WB and WOLFSSL_STM32U5 */
173176 #define WOLFSSL_STM32F4
174177
175178 /* Debug UART used for printf */
@@ -195,13 +198,23 @@ extern ${variable.value} ${variable.name};
195198#define WOLFSSL_GENERAL_ALIGNMENT 4
196199#define WOLFSSL_STM32_CUBEMX
197200#define WOLFSSL_SMALL_STACK
198- #define WOLFSSL_USER_IO
199- #define WOLFSSL_NO_SOCK
200201#define WOLFSSL_IGNORE_FILE_WARN
201202
203+ /* ------------------------------------------------------------------------- */
204+ /* Network stack: 1=User IO (custom), 2=LWIP (posix), 3=LWIP (native) */
205+ /* ------------------------------------------------------------------------- */
206+ #if defined(WOLF_CONF_IO) && WOLF_CONF_IO == 2
207+ #define WOLFSSL_LWIP
208+ #elif defined(WOLF_CONF_IO) && WOLF_CONF_IO == 3
209+ #define WOLFSSL_LWIP_NATIVE
210+ #else /* custom */
211+ #define WOLFSSL_USER_IO
212+ #define WOLFSSL_NO_SOCK
213+ #endif
214+
202215
203216/* ------------------------------------------------------------------------- */
204- /* Operating System */
217+ /* Operating System: 1=Bare-metal/Single threaded, 2=FREERTOS */
205218/* ------------------------------------------------------------------------- */
206219#if defined(WOLF_CONF_RTOS) && WOLF_CONF_RTOS == 2
207220 #define FREERTOS
@@ -328,12 +341,25 @@ extern ${variable.value} ${variable.name};
328341#endif
329342
330343/* TLS Session Cache */
331- #if 0
344+ #if defined(WOLF_CONF_RESUMPTION) && WOLF_CONF_RESUMPTION == 1
332345 #define SMALL_SESSION_CACHE
346+ #define HAVE_SESSION_TICKET
333347#else
334348 #define NO_SESSION_CACHE
335349#endif
336350
351+ /* TPM support */
352+ #if defined(WOLF_CONF_TPM) && WOLF_CONF_TPM == 1
353+ #define WOLF_CRYPTO_CB
354+ #define WOLFSSL_PUBLIC_MP
355+ /* also AES CFB - enabled below */
356+ #endif
357+
358+ /* TLS key callbacks */
359+ #if defined(WOLF_CONF_PK) && WOLF_CONF_PK == 1
360+ #define HAVE_PK_CALLBACKS
361+ #endif
362+
337363/* ------------------------------------------------------------------------- */
338364/* Crypto */
339365/* ------------------------------------------------------------------------- */
@@ -421,21 +447,31 @@ extern ${variable.value} ${variable.name};
421447#endif
422448
423449/* AES */
424- #if defined(WOLF_CONF_AESGCM) && WOLF_CONF_AESGCM = = 1
450+ #if defined(WOLF_CONF_AESGCM) && WOLF_CONF_AESGCM > = 1
425451 #define HAVE_AESGCM
452+ #define HAVE_AES_DECRYPT
453+
426454 /* GCM Method: GCM_SMALL, GCM_WORD32, GCM_TABLE or GCM_TABLE_4BIT */
427455 /* GCM_TABLE is about 4K larger and 3x faster for GHASH */
428- #define GCM_SMALL
429- #define HAVE_AES_DECRYPT
456+ #if WOLF_CONF_AESGCM == 2
457+ #define GCM_TABLE_4BIT
458+ #else
459+ #define GCM_SMALL
460+ #endif
430461#endif
431462
432463#if defined(WOLF_CONF_AESCBC) && WOLF_CONF_AESCBC == 1
433464 #define HAVE_AES_CBC
434465 #define HAVE_AES_DECRYPT
466+ #else
467+ #define NO_AES_CBC
435468#endif
436469
437470/* Other possible AES modes */
438- //#define WOLFSSL_AES_CFB /* Used by TPM parameter encryption */
471+ #if defined(WOLF_CONF_TPM) && WOLF_CONF_TPM == 1
472+ #define WOLFSSL_AES_CFB /* Used by TPM parameter encryption */
473+ #endif
474+
439475//#define WOLFSSL_AES_COUNTER
440476//#define HAVE_AESCCM
441477//#define WOLFSSL_AES_XTS
0 commit comments