Skip to content

Commit 34da1a4

Browse files
committed
Update core Espressif wolfcrypt port
1 parent 561fead commit 34da1a4

File tree

15 files changed

+1102
-245
lines changed

15 files changed

+1102
-245
lines changed

.wolfssl_known_macro_extras

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ BSP_SDCARD_SDHC_CHANNEL
4343
BSP_SDCARD_SPI_CHANNEL
4444
CAAM_OUT_INVALIDATE
4545
CERT_REL_PREFIX
46+
CHIP_FEATURE_BLE
47+
CHIP_FEATURE_BT
48+
CHIP_FEATURE_EMB_FLASH
49+
CHIP_FEATURE_EMB_PSRAM
50+
CHIP_FEATURE_IEEE802154
51+
CHIP_FEATURE_WIFI_BGN
4652
CIOCASYMFEAT
4753
CIOCGSESSINFO
4854
CMSIS_OS2_H_
@@ -103,16 +109,23 @@ CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_EXPTMOD
103109
CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_MP_MUL
104110
CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_MULMOD
105111
CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING
112+
CONFIG_ESP_WOLFSSL_USE_RSA
106113
CONFIG_FREERTOS_HZ
107114
CONFIG_FREERTOS_UNICORE
115+
CONFIG_FREERTOS_USE_TRACE_FACILITY
116+
CONFIG_IDF_INIT_VERSION
108117
CONFIG_IDF_TARGET
109118
CONFIG_IDF_TARGET_ARCH_RISCV
110119
CONFIG_IDF_TARGET_ARCH_XTENSA
111120
CONFIG_IDF_TARGET_ESP32
112121
CONFIG_IDF_TARGET_ESP32C2
113122
CONFIG_IDF_TARGET_ESP32C3
123+
CONFIG_IDF_TARGET_ESP32C5
114124
CONFIG_IDF_TARGET_ESP32C6
125+
CONFIG_IDF_TARGET_ESP32C61
115126
CONFIG_IDF_TARGET_ESP32H2
127+
CONFIG_IDF_TARGET_ESP32H21
128+
CONFIG_IDF_TARGET_ESP32H4
116129
CONFIG_IDF_TARGET_ESP32P4
117130
CONFIG_IDF_TARGET_ESP32S2
118131
CONFIG_IDF_TARGET_ESP32S3
@@ -174,6 +187,7 @@ CONFIG_WOLFSSL_TARGET_PORT
174187
CONFIG_WOLFSSL_TLS13_ENABLED
175188
CONFIG_WOLFSSL_TLS_VERSION_1_2
176189
CONFIG_WOLFSSL_TLS_VERSION_1_3
190+
CONFIG_WOLFSSL_USE_MY_PRIVATE_CONFIG
177191
CONFIG_WOLFTPM
178192
CONFIG_WOLFTPM_EXAMPLE_NAME_ESPRESSIF
179193
CONFIG_X86
@@ -275,6 +289,7 @@ HAVE_MDK_RTX
275289
HAVE_NETX_BSD
276290
HAVE_PKCS7_RSA_RAW_SIGN_CALLBACK
277291
HAVE_POCO_LIB
292+
HAVE_RSA
278293
HAVE_RTP_SYS
279294
HAVE_SECURE_GETENV
280295
HAVE_STACK_SIZE_VERBOSE_LOG
@@ -310,6 +325,8 @@ LIBWOLFSSL_VERSION_GIT_HASH_DATE
310325
LIBWOLFSSL_VERSION_GIT_ORIGIN
311326
LIBWOLFSSL_VERSION_GIT_SHORT_HASH
312327
LIBWOLFSSL_VERSION_GIT_TAG
328+
LIBWOLFSSL_VERSION_IDF_PATH
329+
LIBWOLFSSL_VERSION_WOLFSSL_ROOT
313330
LINUXKM_DONT_FORCE_FIPS_ENABLED
314331
LINUXKM_LKCAPI_PRIORITY_ALLOW_MASKING
315332
LINUX_CYCLE_COUNT
@@ -725,6 +742,7 @@ WOLFSSL_HARDEN_TLS_ALLOW_OLD_TLS
725742
WOLFSSL_HARDEN_TLS_ALLOW_TRUNCATED_HMAC
726743
WOLFSSL_HARDEN_TLS_NO_PKEY_CHECK
727744
WOLFSSL_HARDEN_TLS_NO_SCR_CHECK
745+
WOLFSSL_HAVE_LINKER_REGION_PEEK
728746
WOLFSSL_HOSTNAME_VERIFY_ALT_NAME_ONLY
729747
WOLFSSL_I2D_ECDSA_SIG_ALLOC
730748
WOLFSSL_IAR_ARM_TIME

wolfcrypt/benchmark/benchmark.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,8 @@
380380
.resolution_hz = CONFIG_XTAL_FREQ * 100000,
381381
};
382382
#elif defined(CONFIG_IDF_TARGET_ESP32C3) || \
383-
defined(CONFIG_IDF_TARGET_ESP32C6)
383+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
384+
defined(CONFIG_IDF_TARGET_ESP32C61)
384385
#include <esp_cpu.h>
385386
#if ESP_IDF_VERSION_MAJOR >= 5
386387
#include <driver/gptimer.h>
@@ -1494,7 +1495,8 @@ static const char* bench_result_words3[][5] = {
14941495
#endif
14951496
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
14961497
defined(CONFIG_IDF_TARGET_ESP32C3) || \
1497-
defined(CONFIG_IDF_TARGET_ESP32C6)
1498+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
1499+
defined(CONFIG_IDF_TARGET_ESP32C61)
14981500

14991501
#ifdef WOLFSSL_BENCHMARK_TIMER_DEBUG
15001502
ESP_ERROR_CHECK(gptimer_get_raw_count(esp_gptimer, &thisTimerVal));
@@ -1651,7 +1653,8 @@ static const char* bench_result_words3[][5] = {
16511653
* for the next measurement. */
16521654
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
16531655
defined(CONFIG_IDF_TARGET_ESP32C3) || \
1654-
defined(CONFIG_IDF_TARGET_ESP32C6)
1656+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
1657+
defined(CONFIG_IDF_TARGET_ESP32C61)
16551658
{
16561659
#ifdef WOLFSSL_BENCHMARK_TIMER_DEBUG
16571660
ESP_ERROR_CHECK(gptimer_get_raw_count(esp_gptimer,
@@ -15664,7 +15667,8 @@ int wolfcrypt_benchmark_main(int argc, char** argv)
1566415667
{
1566515668
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
1566615669
defined(CONFIG_IDF_TARGET_ESP32C3) || \
15667-
defined(CONFIG_IDF_TARGET_ESP32C6)
15670+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
15671+
defined(CONFIG_IDF_TARGET_ESP32C61)
1566815672
{
1566915673
#ifdef WOLFSSL_BENCHMARK_TIMER_DEBUG
1567015674
if (esp_gptimer == NULL) {
@@ -15687,7 +15691,8 @@ int wolfcrypt_benchmark_main(int argc, char** argv)
1568715691

1568815692
#if defined(CONFIG_IDF_TARGET_ESP32C2) || \
1568915693
defined(CONFIG_IDF_TARGET_ESP32C3) || \
15690-
defined(CONFIG_IDF_TARGET_ESP32C6)
15694+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
15695+
defined(CONFIG_IDF_TARGET_ESP32C61)
1569115696
{
1569215697
#ifdef WOLFSSL_BENCHMARK_TIMER_DEBUG
1569315698
ESP_ERROR_CHECK(gptimer_stop(esp_gptimer));

wolfcrypt/src/port/Espressif/esp32_aes.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ static int esp_aes_hw_InUse(void)
115115
DPORT_REG_WRITE(AES_DMA_ENABLE_REG, 0);
116116
}
117117
#elif defined(CONFIG_IDF_TARGET_ESP32C3) || \
118-
defined(CONFIG_IDF_TARGET_ESP32C6)
118+
defined(CONFIG_IDF_TARGET_ESP32C6) || \
119+
defined(CONFIG_IDF_TARGET_ESP32C61)
119120
{
120121
/* Select working mode. Can be typical or DMA.
121122
* 0 => typical
@@ -216,7 +217,7 @@ static int esp_aes_hw_Set_KeyMode(Aes *ctx, ESP32_AESPROCESS mode)
216217
ESP_LOGE(TAG, "esp_aes_hw_Set_KeyMode unsupported mode: %i", mode_);
217218
ret = BAD_FUNC_ARG;
218219
}
219-
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
220+
#elif defined(CONFIG_IDF_TARGET_ESP32C6) || defined(CONFIG_IDF_TARGET_ESP32C61)
220221
#define TARGET_AES_KEY_BASE AES_KEY_0_REG
221222
if (mode_ == 1 || mode_ == 3 || mode_ == 5 || mode_ > 6) {
222223
/* this should have been detected in aes.c and fall back to SW */
@@ -303,7 +304,7 @@ static void esp_aes_bk(const byte* in, byte* out)
303304

304305
/* read-out blocks */
305306
esp_dport_access_read_buffer((uint32_t*)outwords, AES_TEXT_OUT_BASE, 4);
306-
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
307+
#elif defined(CONFIG_IDF_TARGET_ESP32C6) || defined(CONFIG_IDF_TARGET_ESP32C61)
307308
/* See ESP32-C6 technical reference manual:
308309
** 18.4.3 Operation process using CPU working mode.
309310
** The ESP32-C6 also supports a DMA mode. (not ywt implemented)
@@ -380,7 +381,7 @@ int wc_esp32AesSupportedKeyLenValue(int keylen)
380381
ret = ESP_OK; /* keylen 24 (192 bit) not supported */
381382
}
382383

383-
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
384+
#elif defined(CONFIG_IDF_TARGET_ESP32C6) || defined(CONFIG_IDF_TARGET_ESP32C61)
384385
if (keylen == 16 || keylen == 32) {
385386
ret = 1;
386387
}

0 commit comments

Comments
 (0)