Commit Graph

673 Commits

Author SHA1 Message Date
Chen Jichang
8cb3743b7c ci(esp32h4): disable h4 build and target test on unsupported release branch 2026-09-07 15:48:11 +08:00
harshal.patil
0580cff0e4 change(esp_hw_support): harden the ESP32-S31 PSRAM region permissions
Both PSRAM layouts were mapped as a single RWX window, so everything in external
RAM - the heap included - was executable.

PSRAM used as data only is now RW, and under XIP-from-PSRAM it is split per
section as ESP32-P4 does: .text RX, .rodata read-only, and the MMU-page
alignment gaps and the reclaimed heap RW, so neither is executable.

Both describe the layout that esp_psram_init() produces, and the entries are
locked, so - again as on ESP32-P4 - they are only narrowed when
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION says that layout applies. Without
it the application owns the region and PSRAM stays RWX.

The per-section entries cost one PMP entry more than the 16 available, so the CPU
subsystem and peripheral windows are chained as TOR entries, taking one entry
instead of three.

soc.h is corrected against the S31 bus address map: the peripheral window base
was 1 MB too low, and the LP peripheral top, derived from a register base plus a
size rather than from the map, was 16 KB short. SOC_NON_CACHEABLE_OFFSET_FLASH
is added.
2026-08-28 18:06:56 +05:30
nilesh.kale
8f3d9e7445 feat: enable cpu region protection for esp32s31 2026-08-28 18:06:56 +05:30
Marius Vikhammer
738e9da8e9 Merge branch 'feat/optimize_bootloader_size_v6.1' into 'release/v6.1'
change(bootloader): optimize bootloader size (v6.1)

See merge request espressif/esp-idf!51596
2026-08-27 18:15:49 +08:00
Alexey Gerenkov
9a80cf3721 Merge branch 'fix/coredump_psram_xip_v6.1' into 'release/v6.1'
test(coredump): fix psram memory range for esp32s31 and esp32p4 (v6.1)

See merge request espressif/esp-idf!50738
2026-08-27 17:25:01 +08:00
Fu Hanxi
7eaf5f1b4e Merge branch 'feat/apply-common-scripts-6.1' into 'release/v6.1'
ci: apply common-scripts CI refactor (v6.1)

See merge request espressif/esp-idf!50988
2026-08-27 10:39:58 +02:00
Erhan Kurubas
74265eb43b test(coredump): fix psram memory range for esp32s31 and esp32p4 2026-08-27 10:23:12 +02:00
Mahavir Jain
ead61fe10e Merge branch 'feat/update_documentation_and_cleanup_for_s31_v6.1' into 'release/v6.1'
enable tests and cleanup JIRA references for s31 (v6.1)

See merge request espressif/esp-idf!50378
2026-08-27 13:45:25 +05:30
Alexey Gerenkov
ad05a2522a Merge branch 'enable_esp32s31_jtag_tests_v6.1' into 'release/v6.1'
change(ci): enable esp32s31 jtag tests (v6.1)

See merge request espressif/esp-idf!50735
2026-08-27 16:09:51 +08:00
Alexey Gerenkov
67d7993822 Merge branch 'coredump_test_fixes_v6.1' into 'release/v6.1'
Coredump fixes (v6.1)

See merge request espressif/esp-idf!50473
2026-08-27 16:00:22 +08:00
Fu Hanxi
0a0f6ff9d1 tests: replace CLI-dependent xfail/skipif conditions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-27 09:25:42 +02:00
nilesh.kale
256244e89a feat: enable tests and cleanup jira references for s31 2026-08-27 12:28:24 +05:30
Marius Vikhammer
66f79e57f8 change(bootloader): optimize bootloader size
Trim bootloader size by moving some logs to DEBUG. Allows
compiling bootloader on P4 with CONFIG_ESPTOOLPY_FLASHMODE_QIO
without changing partition table offset
2026-08-20 14:54:45 +08:00
Erhan Kurubas
1b44f1ebdd ci(coredump): enable esp32h4 tests 2026-07-23 09:49:33 +03:00
Jiang Jiang Jian
a43c51681a Merge branch 'task/buildv2_full_pipeline_v6.1' into 'release/v6.1'
Enable full buildv2 pipeline (v6.1)

See merge request espressif/esp-idf!50351
2026-07-17 18:20:09 +08:00
Erhan Kurubas
1f580af991 test(usb_serial_jtag): pin console uart to ttyUSBx port 2026-07-15 22:48:16 +02:00
Xiao Xufeng
3e8389cc31 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-07-15 18:57:08 +08:00
Erhan Kurubas
6ee2fd716c test(espcoredump): run test_tcb_corrupted with custom stack 2026-07-08 08:49:25 +02:00
Sudeep Mohanty
0a89c2e432 fix(test_apps): override config defaults unused by these tests
These tests enable features they do not use -- the VFS console, Wi-Fi task core pinning, and
the DS peripheral -- which shift memory layout, interrupt allocation, and peripheral access
enough to fail them. Override the unused options in each test's sdkconfig and ignore the
resulting unknown-symbol build warnings.
2026-07-03 19:18:42 +02:00
Jiang Jiang Jian
e3feb73053 Merge branch 'task/buildv2_hygiene_and_dep_declarations_v6.1' into 'release/v6.1'
fix(components): generic dep-declaration and scope-leakage hygiene exposed by cmakev2 (v6.1)

See merge request espressif/esp-idf!48904
2026-07-03 17:47:24 +08:00
Sudeep Mohanty
ac527f3192 fix(test_apps/memprot): declare esp_hal_wdt as a private requirement of main
main/{esp32s2,esp32c3,esp32s3}/test_panic.c uses WDT registers from
esp_hal_wdt. Declare it explicitly so the build works under cmakev2's
strict component isolation.
2026-07-01 19:59:05 +08:00
Sudeep Mohanty
658df32a06 fix(test_apps/gdb): declare spi_flash as a private requirement of main
main/hello_world_main.c uses spi_flash headers. Declare spi_flash in
PRIV_REQUIRES so the build works under cmakev2's strict component
isolation.
2026-07-01 19:59:05 +08:00
harshal.patil
dd84cd7f10 fix(panic): handle absent IROM/DROM alignment gap in spiram-xip memprot tests
The spiram-xip IROM/DROM alignment tests assumed the XIP region always
leaves an alignment gap before the next MMU page: they executed into the
gap and expected an instruction access fault followed by a register dump.
When the section ends exactly on an MMU page boundary there is no gap - the
device prints "<IROM/DROM> alignment gap not added into heap" and returns,
the framework restarts cleanly (esp_restart_noos, no panic), and the test
timed out waiting for a register dump.
2026-07-01 10:59:50 +05:30
Sudeep Mohanty
6084733b91 fix(test_apps/g0_components): skip -D injection when Kconfig is processed
The CMakeLists injects CONFIG_ESP_REV_MIN_FULL and CONFIG_XTAL_FREQ on
the command line because those symbols live in esp_common's Kconfig,
which is outside the G0 closure and is not loaded during a restricted
COMPONENTS build. When every discovered component's Kconfig is processed
(IDF_BUILD_V2) the symbols are already defined via their Kconfig
defaults, and the additional -D would conflict with the existing
definition.

Gate the injection so it only runs when the Kconfig is not processed.
2026-05-21 13:58:27 +02:00
Sudeep Mohanty
6c3d8f8de5 fix(g1_components): force VFS_SUPPORT_IO=n for restricted COMPONENTS build
g1_components builds a minimal COMPONENTS list. When every component's
Kconfig is processed, components/vfs/Kconfig sets VFS_SUPPORT_IO=y by
default, and the conditional requires in esp_stdio and esp_libc pull
vfs, esp_driver_uart, and their transitive deps into the closure.

Add an sdkconfig.defaults that forces the symbol off so the dependency
graph stays restricted to the components actually under test.
2026-05-21 13:58:27 +02:00
Sudeep Mohanty
fb7d325b72 test(g1_components): record dep edges surfaced by DEFERRED optional requires
expected_dep_violations only listed the edges visible when
idf_component_optional_requires was a no-op for the dependency graph.
Under build system v2's DEFERRED mode the call propagates the resolved
dependency back into PRIV_REQUIRES, and the graph also captures
esp_common -> {efuse, bootloader_support, app_update} and esp_system ->
esp_app_format.

Add those entries so the script does not flag them when IDF_BUILD_V2
is set.
2026-05-21 13:58:22 +02:00
Marius Vikhammer
6377ac3ec2 test(panic): refactor panic test to split out coredump 2026-05-15 11:00:44 +08:00
Marius Vikhammer
1a65724653 Merge branch 'ci/h4_core_sys_test' into 'master'
test(ci): re-enable ESP32-H4 in core system test apps

Closes IDF-15602, IDF-15604, IDF-15605, IDF-15606, and IDF-15612

See merge request espressif/esp-idf!48454
2026-05-13 14:24:16 +08:00
Marius Vikhammer
8f6ea2a1ba test(ci): re-enable ESP32-H4 in core system test apps
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 09:00:12 +08:00
Konstantin Kondrashov
485ab9aa29 Merge branch 'feature/recovery_bootloader_support' into 'master'
feat(bootloader): Support recovery bootloader for ESP32P4

Closes IDF-15653 and IDF-13165

See merge request espressif/esp-idf!48215
2026-05-12 23:24:40 +03:00
Marius Vikhammer
96333567e8 ci(system): fixing misc core system H4 tests 2026-05-12 17:12:30 +08:00
C.S.M
036fcf8e37 Merge branch 'feat/bod_bringup_s31' into 'master'
feat(bod): Add bod support on esp32s31

Closes IDF-14658

See merge request espressif/esp-idf!48310
2026-05-12 15:29:19 +08:00
C.S.M
2b7992213c feat(bod): Add bod support on esp32s31 2026-05-12 12:30:35 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Chen Jichang
645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
Konstantin Kondrashov
dd9a0a9a93 fix(test_apps): Increase CONFIG_PARTITION_TABLE_OFFSET to 0x9000
Fix some test apps that have a partition table offset of 0x8000,
which left no room for the bootloader for some chips.
2026-05-08 16:45:14 +03:00
Marius Vikhammer
c06bf7de44 ci(build): removed and replaced template with regular test-apps 2026-04-29 15:21:30 +08:00
Marius Vikhammer
4d18240744 fix(esp_intr_dump): sync esp32s31 expected output
Keep the esp32s31 fixture aligned with the assist_debug reservation on interrupt 27.
2026-04-16 11:35:43 +08:00
Alexey Gerenkov
8c4897f62e Merge branch 'fix/coredump_fake_stack_range' into 'master'
fix(coredump): fix fake stack address range overlapping esp32s31 DRAM

Closes IDFCI-10393, IDFCI-10395, IDFCI-10396, IDFCI-10405, IDFCI-10402, IDFCI-10401, IDFCI-10403, IDFCI-10389, IDFCI-10406, IDFCI-10390, IDFCI-10391, IDF-14673, and IDF-14675

See merge request espressif/esp-idf!47480
2026-04-13 23:13:26 +08:00
nilesh.kale
a6a2696972 fix(cpu_region_protect): set DROM mask PMP entry to read-only
PMP entry 3 (SOC_DROM_MASK_HIGH, TOR mode) in the memprot path
was incorrectly granted RW permission on esp32h21 and esp32c61.
The mask ROM data region is inherently read-only; remove the W bit.

Also added necessary tests to check voilations and re-enabled
tests for ESP32P4
2026-04-13 10:27:58 +05:30
Erhan Kurubas
54287a574b test(panic): update multi-core target list in panic_dut 2026-04-10 19:58:56 +02:00
Erhan Kurubas
85a717f0a3 Merge branch 'esp32s31-assist-debug' into 'master'
feat(esp32s31): add assist_debug stack monitoring support

See merge request espressif/esp-idf!47282
2026-04-10 19:58:21 +02:00
Marius Vikhammer
c1e5a95755 Merge branch 'ci/panic_tests_p4_s31' into 'master'
test(system): enable panic tests for P4 and S31

Closes IDF-14348

See merge request espressif/esp-idf!47442
2026-04-10 15:03:39 +08:00
Marius Vikhammer
c216628442 test(system): enable panic tests for P4 and S31 2026-04-10 08:35:25 +08:00
Erhan Kurubas
f6ae009f40 feat(esp32s31): add assist_debug stack monitoring support 2026-04-09 21:20:51 +08:00
Alexey Lapshin
08b423a06b feat(soc): ESP32-S31: enable SOC_ASYNCHRONOUS_BUS_ERROR_MODE
- Enable SOC_ASYNCHRONOUS_BUS_ERROR_MODE to correct MEPC value when debugging.
- Enable gdbstub test_hwloop_jump and test_coproc_registers
2026-04-09 10:39:17 +08:00
Marius Vikhammer
82c1f71d96 ci(esp_intr_dump): add expected output for esp32s31 2026-04-08 09:43:21 +08:00
C.S.M
152b5ccb4c ci(esp32s31): Add ci target test for esp32s31 2026-04-03 11:38:45 +08:00
Fu Hanxi
e93cda6391 Merge branch 'ci/apply-idf-ci-1.x' into 'master'
ci: upgrade idf-ci to 1.x

Closes CII-108

See merge request espressif/esp-idf!46623
2026-03-30 19:31:53 +02:00
Fu Hanxi
9ecd3ecad4 ci: apply idf-ci 1.x 2026-03-27 15:12:31 +01:00