summaryrefslogtreecommitdiff
path: root/components
AgeCommit message (Collapse)Author
2026-08-30[libc][posix] Fix epoll waiters and LWP syscall copiesbernard
修复 epoll waiter 生命周期,避免等待队列节点在回调后失效。 整理 LWP POSIX syscall 的用户空间拷贝和错误返回路径。
2026-08-30[dfs][procfs] Add Linux-compatible process and system filesbernard
补齐 procfs 中 cpuinfo、stat、uptime、loadavg、meminfo、mounts 和进程目录文件。 按架构和 SMP 配置隔离仅在对应平台有效的字段,避免非 AArch64/非 SMP 构建告警。
2026-08-30[dfs][posix] Add record locks, fchmod, and tmpfs metadatabernard
为 DFS v2 增加 POSIX 记录锁、fchmod,以及 tmpfs 的权限和时间元数据。 进程退出时通过 dfs_fdtable_drop_fd 释放文件描述符和记录锁。
2026-08-27fix(netdev): 修复无网卡时 ping 命令空指针崩溃zhangyuyang
netdev_cmd_ping 中 netdev 回退到 netdev_default 后未判空, QEMU 无网卡环境下执行 ping 直接解引用 NULL 崩溃(data abort)。 回退后增加空指针检查,提示无可用网卡并返回错误。
2026-08-26[finsh] Remove deprecated FINSH_FUNCTION_EXPORT_ALIAS#11734Bernard Xiong
2026-08-21[kernel][ipc] Fix timeout wakeup ownership raceari.liu
Keep thread timer ownership when timer stop races with an in-flight timeout callback, and consume IPC resources only after a waiter is resumed successfully. Complete ownership cleanup in the generic and RT-Smart channel timeout callbacks. Add deterministic scheduler and LWP regressions for Event, Semaphore, Mailbox, Message Queue, sender, and receiver paths.
2026-08-21[rust][tools] Fix Rust build example configuration handlingyan hu
Improve the Rust build integration across core, applications, components, and module examples. Fix build failure propagation, target and feature handling, linker flags, example configuration semantics, and add STM32 CI attach coverage.
2026-08-21[fix][libc] fix timegm month overflow calculationHui Su
The original overflow logic used __spm[tm_mon] as the current month's length when normalizing tm_mday. This produced incorrect dates after crossing month boundaries and left zero or negative days unnormalized. Use the difference between adjacent cumulative day offsets with leap-year handling. Normalize overflow in tm_sec, tm_min, tm_hour, tm_mday, and tm_mon to keep the affected broken-down fields normalized. Add regression tests for month boundaries, leap years, large offsets, zero and negative days, negative time fields, combined overflow, and boundary carry cases. Close #11686 Signed-off-by: Hui Su <[email protected]>
2026-08-20[dfs] Fix path buffer leaks in utimensathanzhijian
2026-08-17Add AF_UNIX sockets implementation (#11681)Bernard Xiong
* components/dfs: support unix socket nodes AF_UNIX pathname binding and descriptor passing require DFSv2 socket nodes and retained open file descriptions across fd tables. Add socket-node creation for tmpfs and devtmpfs, fd reference helpers, and socket F_SETFL forwarding. Impact: DFSv2 socket nodes and descriptor reference handling. Validation: git diff --cached --check. * components/net/sal: support local protocol providers Local IPC protocol families do not have a backing network device. Store the selected provider in each SAL socket and add a local provider registry while preserving netdev checks for Internet sockets. Handle DFSv2 close semantics, socketpair flags, and MSG_CTRUNC for AF_UNIX integration. Impact: SAL protocol dispatch for all socket families. Validation: git diff --cached --check. * components/lwp: support unix socket messages Musl AF_UNIX addresses and ancillary data require explicit ABI and user-memory conversion at the LWP syscall boundary. Add the musl msghdr layout, bounded address and message copying, control-message level conversion, and MSG_CTRUNC translation. Correct receive buffer allocation and copy lengths while handling messages. Impact: LWP socket syscalls when SAL is enabled. Validation: git diff --cached --check. * components/net/af_unix: add local sockets Add an opt-in AF_UNIX provider for pathname-based local IPC without a synthetic network device. Support datagram and stream sockets, blocking and nonblocking I/O, timeouts, poll, socketpair, and SCM_RIGHTS descriptor passing. Include bounded Kconfig settings, component documentation, and utest coverage. Impact: enabled only by RT_USING_AF_UNIX and requires SAL POSIX with DFSv2. Validation: git diff --cached --check. * Fix AF_UNIX CI checks Apply the repository clang-format rules to the affected source lines. Suppress the cppcheck false positive for the devtmpfs list iterator. No functional behavior is changed. * components/lwp: preserve NULL optional msghdr buffers When msg_name or msg_control is NULL, keep the kernel pointer NULL instead of substituting an uninitialized buffer. Reject a NULL control buffer with a nonzero length as EFAULT. Impact: LWP sendmsg/recvmsg conversion on MMU targets. Validation: git diff --cached --check. * components/net/af_unix: fix poll UAF, namespace leak, and SCM_RIGHTS cycles Poll only the local wait queue and wake writers from the receiver. Free namespace entries on detach, and reject AF_UNIX descriptors in SCM_RIGHTS until cycle collection exists. Impact: AF_UNIX poll, bind lifetime, and descriptor passing. Validation: git diff --cached --check. * components/dfs: add DFSv2 AF_UNIX utest suite Add opt-in tests under dfs/utest/v2/af_unix for socket nodes, IPC, poll peer-close, namespace cleanup, and SCM_RIGHTS rejection. Sources are built only when RT_UTEST_TC_USING_DFS_V2_AF_UNIX and the selected test groups are enabled. Impact: DFS utest menu and build; no production AF_UNIX behavior change. Validation: git diff --cached --check.
2026-08-17wlan: fix silent failure of wifi cmd when device mode not bound#11696Kai
2026-08-17wlan: add WPA3/enterprise/WAPI/OWE/DPP security modesKai
2026-08-16[bsp/raspberry-pi] update DM supportGuEe-GUI
- reorganize common Raspberry Pi drivers under the device framework - add the Raspberry Pi 5 BSP, configuration and documentation - add BCM2712 and DesignWare AXI DMA controller support - distinguish BCM2712 DMA32 and DMA40 channels by channel mask - restore DesignWare AXI DMA enable bits after controller reset - support a shared AXI maximum burst length across DMA channels Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[DM/OFW][PCI] Fix address translation and PCI resource enumeration (#11677)GUI
* [DM/OFW][PCI] Fix address translation and PCI resource enumeration Rework OFW address translation to walk nested bus ranges in the correct direction and cache "ranges" and "dma-ranges" independently. Handle PCI three-cell addresses without treating the PCI flags cell as part of the address, and fix CPU-to-DMA and DMA-to-CPU translation across nested buses. Fix PCI BAR sizing and assignment by disabling address decoding during probing, preserving BAR attribute bits, and programming 64-bit BARs correctly. Add device enable and disable helpers so resources and bus mastering are enabled before driver probe. Program bridge memory and prefetch windows while scanning downstream buses, correctly link child buses into the PCI bus hierarchy, and avoid unnecessary PCIe link retraining when the link is already active. Allow host bridges without a device-tree pci-domain property by allocating unique domains dynamically, while preserving explicit domain assignments. Fix MSI and MSI-X IRQ setup, rollback, vector addressing, and affinity selection. Add the Raspberry Pi PCI vendor ID for RP1 and other downstream devices. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: pci: address OFW review feedback * style: format PCI and OFW changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[dm][dma] Update DMA (#11678)GUI
* [dm][dma] update DMA interface Extend DMA mapping to honor OFW dma-ranges even when no reserved memory pool is present, and add PCI host-bridge DMA-region translation for PCI devices. Prefer 32-bit-addressable allocations for translated devices, improve pool allocation fallbacks and synchronization, and establish a linear mapping for installed DMA pools when possible. Signed-off-by: GuEe-GUI <[email protected]> * [dm][dma] fixup PL330 work flow Fix PL330 channel allocation so device-tree cells select peripheral request lines rather than execution channels. Generate proper peripheral DMA microcode using DMAWFP, DMALDP, DMASTP, and DMAFLUSHP, encode burst lengths correctly, honor transfer direction and non-secure attributes, and allocate microcode from DMA-coherent memory. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: dma: fix diagnostic format types * style: format DMA changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[DM/Input] Add ADC joystick, keyboard, and touchscreen drivers (#11679)GUI
* [DM/Input] Add ADC joystick, keyboard, and touchscreen drivers Add polling input drivers for ADC-connected joysticks and resistor- ladder keys. Parse Linux-compatible device-tree bindings, acquire ADC channels through the IIO framework, and report absolute-axis and key events. Add an SPI touchscreen driver for ADS7843, ADS7845, ADS7846, ADS7873, TSC2046, and XPT2046-compatible controllers. Support pen interrupts, coordinate and pressure reporting, sample filtering, regulator control, power management, and common touchscreen properties. Add an I2C touchscreen driver for Goodix GT9xx controllers with multi-touch reporting, GPIO-based reset and address selection, interrupt handling with polling fallback, regulator control, panel configuration, and alternate-address recovery. Adapt the drivers to the RT-Thread device model and input framework, following the corresponding Linux input drivers and device-tree bindings. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * drivers: input: address review feedback * style: format input changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[dm][sdio] Update for SDHCI- #11684 #11684GUI
2026-08-12refactor(pic): dispatch NVIC IRQs through trapsRbb666
2026-08-12fix(dm): route Cortex-M resets through power coreRbb666
2026-08-12fix(mm): exclude no-MMU ioremap from MMU buildsRbb666
2026-08-12feat(dm): support OFW on Cortex-M targetsRbb666
Add the ARM NVIC PIC driver, no-MMU I/O mapping, built-in FDT support, and Cortex-M CPU hooks required by the native RT-Thread device model.
2026-08-12[lwip-dhcpd] Fix pbuf leak for oversized requestshanzhijian
2026-08-08[dm][clk] fixup the work flow of CLK (#11673)GUI
* [dm][clk] fixup the work flow of CLK Add RT_CLK_F_SET_RATE_NO_REPARENT so clock providers can preserv the currently selected parent during rate changes. Round and re-read the effective clock rate after parent handling, skip redundant gate toggles and hardware programming when the target is already active, and fix error handling for parent-clock allocation failures. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][phye] Add Mode/State and MIPI D-PHY timing helper (#11675)GUI
* [dm][phye] Add Mode/State and MIPI D-PHY timing helper Extend the generic PHY framework with cached mode and submode state, avoiding redundant hardware mode changes. Add MIPI D-PHY default timing calculation helpers based on pixel clock or lane high-speed clock, and expose the new API through rtdevice.h. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][regulator] Update Regulator (#11674)GUI
* [dm][regulator] update regulator Replace the regulator framework spinlock with a mutex because regulator operations may sleep. Move always-on policy into the regulator core, keep an initial enable reference for always-on supplies, prevent the last disable from turning them off, and let fixed/GPIO providers report and control their actual hardware state. Signed-off-by: GuEe-GUI <[email protected]> * [dm][regulator] add PWM regulator support Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][ufs] fixup the ufs supported (#11646)GUI
* [dm][block] add 4K support for EFI partion Signed-off-by: GuEe-GUI <[email protected]> * [dm][ufs] fixup the linkup flow Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: address UFS review feedback --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07style: format code with clang-formatGuEe-GUI
2026-08-07[dm][graphic] update graphicGuEe-GUI
1. Add FB_ACTIVATE_* cmd 2. Fixup the vsync 3. Update the graphic test Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07style: format code with clang-formatGuEe-GUI
2026-08-07[dm][ata] support DW AHCIGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ivshmem] Add Inter-VM shared memory for virtualizationGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[fix][dfs] ↵angryproton
增加文件系统操作的类型检查,防止类型不匹配导致数据结构不一致引发的异常
2026-08-06[dm][misc] make RT_BITS_PER_LONG custom modeGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][thermal] update the thermal coolingGuEe-GUI
1. Fixup the cooling control flow. 2. Replace the spinlock to mutex. 3. Fixup the PWM args for PWM-FAN. 4. Add GPIO-FAN Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][nvmem] fixup the DT parse for bitsGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][nvme] replace the CPU physical address to DMA addressGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ethernet] add MACB and DWMAC ethernet supportGuEe-GUI
They support PTP, too. Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][phy] improve PHY v2 support and add RTL8211F driverGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ethernet] Add ethernet for DMGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-03ipc: fix recursive data queue locking on SMPGuEe-GUI
rt_data_queue_pop() holds the data queue spinlock while updating the ring state, then calls rt_data_queue_len(). The length function tries to acquire the same non-recursive spinlock again, causing an SMP deadlock when a pop leaves the queue non-empty. Add a private _data_queue_len_nolock() helper for callers which already hold the queue lock. Keep the public rt_data_queue_len() protected by one spinlock acquisition. This does not change the public API, ABI, queue state transitions, low-water mark wakeups, or event callback behavior. Tested on a four-core Spacemit K1 with cyclic HDMI playback and by building the SMP QEMU Virt64 RISC-V BSP with generic audio, Intel HDA and VirtIO Sound. Signed-off-by: GuEe-GUI <[email protected]>
2026-08-03[dm][core] Add rt_bus_probe_device APIGuEe-GUI
Add rt_bus_probe_device() to retry driver matching for a registered but unbound device. Use it when an OFW-created platform device is requested again, while preserving native-bus ownership for I2C, SPI, and other non-platform devices. Also instantiate eligible child platform devices after a parent node is registered. Signed-off-by: GuEe-GUI <[email protected]>
2026-07-31components/dfs: unify vnode lock namesBernard Xiong
2026-07-29[dm][i2c] port to the pinctrl for EPGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-07-27[dm][tee] support Trusted Execution Environment (TEE)GuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-07-23[fix][dfs] 修正 elmfat mkfs 中 f_mount 的错误传参angryproton
2026-07-23[dm][rpmsg] port the default RX handler for NSGuEe-GUI
Application traffic should be bound via a higher layer later. And debug. Signed-off-by: GuEe-GUI <[email protected]>
2026-07-22lwp: copy timeout into kernel space in sys_select()yi chen
sys_select() passed the raw user-space timeout pointer straight through to select(), unlike readfds/writefds/exceptfds which are all validated with lwp_user_accessable() and copied into kernel memory first. A malicious or buggy user thread could pass a timeout pointing at unmapped or otherwise invalid memory, which select() would then dereference directly (timeout->tv_sec / timeout->tv_usec) without any check, from kernel context. Validate and copy it into a kernel-local struct timeval the same way the fd_set arguments already are, before it reaches select(). Fixes #10298 Signed-off-by: yi chen <[email protected]>
2026-07-22[drivers][adc] Fix misleading doxygen for rt_adc_voltagemnikapl954
2026-07-22[drivers][dac] Fix wrong rt_dac_write arguments in doxygen examplemnikapl954
2026-07-20fix: name anonymous Kconfig choicesCYFS