Commit Graph

20 Commits

Author SHA1 Message Date
Jiang Jiang Jian
b7193c70e1 Merge branch 'feat/refactor_stdio_vfs_v6.1' into 'release/v6.1'
feat(storage/stdio): refactor stdio vfs (v6.1)

See merge request espressif/esp-idf!48957
2026-07-03 17:47:31 +08:00
Sudeep Mohanty
c6a57943e9 fix(esp_stdio): align VFS console force-link with the source-selection condition
stdio_vfs.c (the sole definition of esp_vfs_include_console_register)
is only added to the source list on non-Linux targets. The trailing
target_link_libraries(... -u esp_vfs_include_console_register) was
applied whenever CONFIG_VFS_SUPPORT_IO was enabled, including on the
Linux host build where the symbol is not part of the link. Constrain
the force-undef to the same condition that opts the defining source
in.
2026-07-01 19:59:05 +08:00
Tomáš Rohlínek
68b34d9883 fix(stdio): check close_p return before decrementing fd count
If entry->ops->close_p() fails, do not decrement s_open_count
to prevent FD count corruption. Return early with the error code
instead.
2026-06-02 10:37:16 +02:00
Tomáš Rohlínek
42f3ed4d51 refactor(stdio): remove fd table, forward opens to primary backend
Remove the internal fd table (fd_entry_t, is_fd_valid, fd_allows_read/write,
ESP_STDIO_BASIC_MODE tracking) from the console VFS.

Instead, console_open forwards directly to the primary backend's open_p,
so each open("/dev/console") creates a real fd in the underlying driver.
Read/write/fstat/fcntl/fsync all operate on the per-open fd from the
primary, not a stored init-time fd.

Structure:
- s_primary: separate variable for the primary backend entry
- s_auxiliary[]: slot-based array for auxiliary sinks (NULL = free)
- Scans all slots (no count variable) with NULL guards
- Auxiliaries opened lazily on first console open
- Closed when last console fd is closed (refcounted via s_open_count)
- Write and fsync fan-out protected by s_lock
2026-06-02 10:37:16 +02:00
Tomáš Rohlínek
9bc2b3d7ee fix(esp_stdio): add fd-table locking, per-fd flag checks, and Kconfig cleanup 2026-05-27 11:37:56 +02:00
Tomáš Rohlínek
52004409ce fix(esp_stdio): remap console select fd bits to sink device
Map logical /dev/console fds to the primary sink fd for select.
This avoids probing UART1/UART2 for stdout/stderr and keeps UART select state consistent.
Add stdio regression checks for logical fd mapping and symmetric uart_end_select teardown.
2026-05-27 11:37:56 +02:00
Tomáš Rohlínek
8605931afc feat(system/esp_stdio): Add test coverage for esp_stdio refactor 2026-05-27 11:37:56 +02:00
Tomáš Rohlínek
e08bed82c6 feat(storage/stdio): Refactor stdio_vfs multiplexer 2026-05-27 11:37:56 +02:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Guillaume Souchere
5fac0b7386 feat(console): Move IO initialization outside of the console component
- Move the linux repl chip and deprecate chip related functions
- Update location of driver specific default config
- Add missing comments on the newly added functions in the affected components.
2026-03-17 08:30:23 +01:00
Tomáš Rohlínek
a46fec8d96 feat(storage/vfs): Remove usage of context less VFS APIs 2026-03-11 11:03:43 +01:00
Marius Vikhammer
5f914189c2 ci(core): removed common_components from core test-apps dependencies 2026-01-26 11:47:23 +08:00
morris
0469db2f83 refactor(rcc): unify the usage of clock control macros for peripherals
- Removed conditional definitions for various RCC_ATOMIC macros across
multiple files, replacing them with a unified PERIPH_RCC_ATOMIC() macro.
- Updated instances where specific RCC_ATOMIC macros were used to ensure
consistent usage of PERIPH_RCC_ATOMIC().
- Deleted unused uart_share_hw_ctrl.h file as its functionality is now
integrated into the new structure.
2026-01-23 18:28:13 +08:00
C.S.M
f405e51784 ci(esp32s31): Add ci build test for esp32s31 2025-12-11 15:17:15 +08:00
igor.udot
8c233aa9bd ci: temp_skip_ci for p4 2025-12-04 18:08:33 +08:00
Armando (Dou Yiwen)
1275fb1f42 Merge branch 'feat/make_p4_rev3_default' into 'master'
p4: make v3 as default

See merge request espressif/esp-idf!43142
2025-11-17 10:10:05 +00:00
armando
b25ba4a0c1 ci(p4): disable p4 rev3 invalid tests temporarily 2025-11-17 12:11:39 +08:00
Marius Vikhammer
d209293856 feat(stdio): updated CMakelists.txt to support cmake v2 build system 2025-11-14 10:13:38 +08:00
Marius Vikhammer
cd741e995f test(system): restructured system build test test-apps 2025-10-27 09:25:07 +08:00
Marius Vikhammer
a257812e14 feat(stdio): added esp_stdio component
esp_stdio contains everything the old esp_vfs_console contained (the vfs stdio glue layer)
as well as other functionality related to stdio (previously referred to as console)
2025-10-16 10:01:59 +08:00