summaryrefslogtreecommitdiff
path: root/components
AgeCommit message (Collapse)Author
4 days[bsp][spacemit/k1] first version #11132GUI
4 daysdrivers/misc: register rt_null at BOARD init for default console (#11472)seteiro
rt_console_set_device() is typically called in rt_hw_board_init() right after rt_components_board_init(). null was INIT_DEVICE (level 3), so it was not registered yet and could not be RT_CONSOLE_DEVICE_NAME. Raise to INIT_BOARD_EXPORT; null is a pure software sink with no HW deps. Co-Authored-By: Grok <[email protected]>
6 days[drivers][touch] Remove redundant path from global CPPPATHzhangyuyang
The touch framework has no private headers in its source directory, so adding the directory to CPPPATH is unnecessary. Remove it to avoid polluting the global header search path, as discussed in #10980.
7 days[ARCH/RISC-V] Next RISC-V (#10320)GUI
* [libcpu][risc-v] Refactor the RISC-V architecture port Introduce an opt-in unified RISC-V common layer for RV32 and RV64 while keeping existing BSPs on the legacy implementation during migration. - use ARCH_RISCV and ARCH_CPU_64BIT for architecture and XLEN selection - unify context, trap, MMU, cache, timer, SBI, SMP and ISA handling - add PLIC, CLIC, ACLINT, APLIC and IMSIC support - map physical hart IDs to contiguous logical CPU IDs - add T-Head vendor overrides while preserving legacy ports - migrate qemu-virt64-riscv with RV32 and RV64 support - update clock_time, MM, LWP, OFW, PCI and Rust integration Existing BSPs continue using legacy_common or common64 unless they select RT_USING_RISCV_NEW_COMMON. Signed-off-by: GuEe-GUI <[email protected]> * [libcpu][risc-v] skip disabled CPU nodes in early FDT walk Rbb666 noted that rt_hw_fdt_install_early() walked every /cpus child without checking status, so disabled cores still joined hart registration and MMU capability probing. Skip nodes that are not okay/ok via rt_fdt_device_is_available() before reading reg or mmu-type. Signed-off-by: seteiro <[email protected]> * [libcpu][risc-v] Fix per-CPU page table mapping - reuse existing non-leaf page table entries when mapping per-CPU areas - reject leaf entry conflicts instead of overwriting mappings Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]> Signed-off-by: seteiro <[email protected]> Co-authored-by: seteiro <[email protected]>
9 days[drivers][ofw] Fix phandle hash buffer overflowHuoyanlifusu
9 days[wlan] synchronize AP lifecycle and direct RX handlingrcitach
9 days[lwip] configure buffer options and preserve PBUF tailroomrcitach
9 days[DHCP] Optimize the DHCP startup logicrcitach
9 daysfix(netdev): correct ping delay logic for last packet and avoid ↵ymj0440
rt_thread_delay(0) The 'index == times' condition in the delay_tick calculation is never true, so the delay was still applied after the last ping, contrary to the comment. Skip the delay on the final ping by checking 'index != times - 1'. Also only call rt_thread_delay() when delay_tick > 0, since passing 0 returns -RT_EINVAL.
10 days[drivers][usb] Clarify the configuration interface count checkW GTO
10 days[usb][host] Bound interface enumeration and detach cleanup W GTO
Reject full configuration descriptors with more interfaces than the instance can hold. Clean up using the fixed interface-array capacity so an attach failure cannot leave detach trusting an oversized device-supplied count. Fixes #11288
10 days[components][netdev] fix divide-by-zero in ping statistics when no replyZhaoqi Xu
netdev_cmd_ping() computed avg_time / received before checking that any reply arrived. When every request times out, received is 0 and the integer division traps (SIGFPE on the simulator, a fault on Cortex-M), taking the shell thread down. Only compute the average inside the existing received > 0 branch where it is printed. Fixes #11852
10 days[components/drivers] reset: Fix build error when reset and ulog are both ↵Jiang Yu
enabled. The '#define assert ASSERT' in ulog_def.h conflicts with the 'assert' used in reset.c (rstc->rstcer->ops->assert), causing unintended macro expansion. Signed-off-by: Jiang Yu <[email protected]>
12 daysfix[usb]: support VCOM polling receive with Serial V2Jaeyeong Lee
Signed-off-by: Jaeyeong Lee <[email protected]>
12 daysfix[usb]: stop aliasing rt_ringbuffer as rt_serial_rx_fifo in VCOMJaeyeong Lee
With RT_USB_DEVICE_CDC and RT_USING_SERIAL_V2 both enabled, _function_enable assigned the embedded rx_ringbuffer to serial.serial_rx. Serial V2 reads that pointer as a struct rt_serial_rx_fifo, whose first member is a rt_ringbuffer, so ring-buffer access happened to work while rx_cpt, rx_cpt_index and rx_timeout landed on the following members of struct vcom, corrupting tx_rbp. The layout shifts again with RT_SERIAL_USING_DMA, which inserts dma_ping_rb ahead of those fields. Serial V2 already owns the receive FIFO: dev_serial_v2.c allocates it with rt_malloc on open and releases it with rt_free on close, so the assignment also made rt_free run on memory inside struct vcom. Drop the assignment and read the FIFO Serial V2 owns. rt_hw_serial_isr reports RX_IND from serial_rx->rb, so the endpoint handler now fills that ring buffer and _vcom_getc drains it. The Serial V1 path is unchanged. Fixes #11739 Signed-off-by: Jaeyeong Lee <[email protected]>
12 days[components][libc] run .init_array constructors in cplusplus_system_initseteiro
Newer GCC emits C++ global constructors into .init_array, which many linker scripts keep outside [__ctors_start__, __ctors_end__), so they never ran. Walk __init_array_start/__init_array_end (weak) as well, skipping entries already covered by the ctors range. Add RT_USING_CPP_CRT_INIT for ports whose startup runtime already runs .init_array, default on for the simulator. With it set, only the .init_array walk is skipped; the ctors range is still walked. Renesas RA/RA_WIRELESS/RZ families select it when C++ is enabled: FSP SystemInit() already walks .init_array, so boards whose linker script only provides __init_array_* would run constructors twice. Boards that fold .init_array into the ctors range (ra6m3-hmi-board, ra8d1, rz) still run them once via RT-Thread. Also source env.sh and restore RTT_EXEC_PATH in ToolsCI project generate and dist steps so scons is on PATH (exit 127) and the ARM toolchain path is not overwritten by env.sh. Fixes #11778
13 days[components][lwip] dhcpd: apply clang-format to dhcp_server.c陈谋顺
13 days[components][lwip] dhcpd: check buffer bounds when parsing options陈谋顺
The option loop advanced by the option length without checking the number of bytes actually received by recvfrom(), so a malformed or truncated DHCP packet could make the server read past the end of the receive buffer. Check that the option type, length and payload stay inside the received data before reading them, and stop parsing when a requested IP option is shorter than 4 bytes or a message type option is shorter than 1 byte. Fixes #11323
2026-10-09[components][ulog] 用仓库的 clang-format 整理 ulog.c陈谋顺
按根目录 .clang-format 跑过 clang-format 19.1.7。 颜色复位仍在换行之前。
2026-10-09[components][ulog] 带颜色日志先恢复默认颜色再换行陈谋顺
Fixes #11296 ulog_tail_formater() 原来先写换行再写 CSI_END,颜色复位落在下一行开头, shell 提示符不会回到默认颜色。现在先写 CSI_END,再写换行。
2026-10-03[lwip] fix sio_write signature conflictTim Wang
2026-10-03[lwip] clean lwip doc filesTim Wang
2026-10-03[lwip] add lwIP 2.2.1 as a selectable version alongside 1.4.1/2.0.3/2.1.2Tim Wang
- Kconfig: RT_USING_LWIP221 choice, RT_USING_LWIP_VER_NUM=0x20201 - SConscript for lwip-2.2.1 (acd.c, mdns split files, tftp.c) - replay RTT patch set from lwip-2.1.2 onto 2.2.1 - import RTT ping.c and tftp_port.c (adapted to 2.2.x TFTP API) - SAL: version-gated netconn socket accessor (callback_arg union >= 2.2.0) - lwipopts: DHCP ACD (RFC 5227) and MEMP_NUM_SYS_TIMEOUT version gates
2026-10-03[lwip] import pristine lwIP 2.2.1 source treeTim Wang
Verbatim upstream lwIP 2.2.1 official release (STABLE-2.2.1), complete with apps/, test/ and Filelists.
2026-09-27[drivers][ipc] 移除 SConscript 中冗余的 __RT_IPC_SOURCE__ 宏定义蒙蒙plus
2026-09-21[cherryusb][fsdev] add N32H4x USBFS device support #11764Onlyou_tzZ
2026-09-21[net][at] Reject overlong numeric hostnameswyf-777
Numeric hostnames were copied into a fixed stack buffer without a length bound. Cache the length, reject values that cannot fit, and terminate the copy explicitly. Fixes #11332 Assisted-by: OpenAI Codex:GPT-5
2026-09-21[components][sdio] Fix CIS tuple memory leakzhangyuyang
2026-09-21[components][sdio] fix possible memory leak of sdio driver unregistrationzhangyuyang
2026-09-21[rust][tools] Fix Cortex-M33 hard-float target selectionkingingwang
detect_rust_target() 的 Cortex-M33 分支固定返回 thumbv8m.main-none-eabi, 没有使用同函数已计算的 hard_float,而 M4/M7 分支是判断的。 硬浮点 M33 板卡因此拿到软浮点 ABI 的 Rust 库,链接时报 "uses VFP register arguments" 并终止构建。 按 hard_float 选择 eabihf/eabi,与 M4/M7 分支保持一致。
2026-09-21feat[drivers][block]: fix printf format type mismatcheswdfk-prog
Fix format specifier mismatches in blk_partition.c by using the appropriate integer formats and explicit casts. This removes -Wformat warnings on platforms where rt_uint32_t and rt_size_t are represented as unsigned long.
2026-09-09[rust][build] Avoid toml dependency during cleanCYFS
2026-09-07[components][sal] Fix SIOCGIFCONF buffer overflowzhangyuyang
2026-09-07[device][mmcsd] Fix Arm Compiler 5 build compatibility #11690CYFS
2026-09-07[mprotect][kconfig] Add safe defaults for MPU region count optionshanzhijian
NUM_MEM_REGIONS / NUM_CONFIGURABLE_REGIONS / NUM_EXCLUSIVE_REGIONS had no Kconfig defaults. Enabling RT_USING_HW_STACK_GUARD without explicitly setting them generated empty macros in rtconfig.h (e.g. '#define NUM_CONFIGURABLE_REGIONS'), which expanded into invalid C expressions like '(2 + )' and 'for (i = 0U; i < ; i++)', breaking compilation for cortex-m4/m7/m33 MPU code. Add safe defaults: NUM_MEM_REGIONS=8, NUM_CONFIGURABLE_REGIONS=0, NUM_EXCLUSIVE_REGIONS=0. Also document the MemManage_Handler strong-symbol conflict with CubeMX-generated stm32f4xx_it.c and how to resolve it. Reported-by: wdfk-prog
2026-09-03[components][lwp] Remove terminal/ from global CPPPATHTTLLDD
The terminal subsystem's own headers (terminal.h, tty_config.h, ...) are resolved by the compiler's quoted-include directory lookup for sources inside components/lwp/terminal; nothing else depends on the path. Stop polluting the global CPPPATH with this internal directory, following the convention discussed in #10980.
2026-09-01[utest][rtc] Add RTC time and alarm testsCYFS
2026-09-01[utest][pwm] Fix matrix test cleanup and timeoutCYFS
2026-09-01[utest][pwm] Add configurable PWM matrix testCYFS
2026-09-01style: format code with clang-format [skip ci]wyf-777
2026-09-01[net][sal] Free DFS v2 vnode when socket creation failswyf-777
When sal_socket() rejects a request, DFS v2 descriptor cleanup destroys the dfs_file but leaves its separately allocated vnode behind. Destroy the vnode before releasing the failed descriptor and add a regression test that verifies repeated failures do not consume heap. Fixes #11710 Assisted-by: OpenAI Codex:GPT-5
2026-08-30[components][serial] Format termios staging declarationbernard
2026-08-30[components][serial] Address review findings for ioctl hardeningbernard
2026-08-30[components][serial] Harden RT-Smart serial ioctl argumentsbernard
在 v1/v2 串口文件边界复制已知用户参数,补齐 v2 unread count 和 termios 缓冲区保护。 在 imx6ull UART 编程前校验波特率,并在硬件配置成功后提交串口状态。
2026-08-30[style] Align clang-format for procfs and tmpfsbernard
Fix clang-format 22 alignment in loadavg macros, tmpfs setattr mask wrap, and record-lock utest defines so the format CI passes.
2026-08-30[dfs][utest] Add POSIX record-lock coveragebernard
Cover positive/negative l_len, overlapping GETLK conflicts, interrupted F_SETLKW, split/merge, and close/dup2 lock release on tmpfs.
2026-08-30[dfs][procfs] Fix Linux-compatible procfs fieldsbernard
Grow maps without a 256 VMA cap, skip RSS walks for maps, report matching status text, real RSS/statm, MemAvailable after page-pool free pages, load averages plus last PID, cumulative processes, RV32 cpuinfo, and per-character mount escaping.
2026-08-30[libc][posix] Wake epoll waiters on OOMbernard
If waiter allocation fails, mark the fd with POLLERR and wake epoll_wait() instead of silently dropping the watch.
2026-08-30[dfs][posix] Fix EFAULT, tmpfs setattr, and chmod bitsbernard
NULL read/write buffers now return -EFAULT. tmpfs setattr uses the vnode-backed object after unlink, keeps S_ISUID/S_ISGID/S_ISVTX, and the tmpfs utest checks ENAMETOOLONG plus post-unlink fchmod.
2026-08-30[drivers][virtio] Depend VirtIO net on LWIPbernard
将 VirtIO Net 的依赖从 RT_USING_ETHERNET 调整为 RT_USING_LWIP。 避免 SMART QEMU 在未启用以太网抽象时无法选择网卡。