Commit Graph
18159 Commits
Author SHA1 Message Date
bernard 5dcbc0dec9 [dfs][procfs] Fix Linux-compatible procfs fields
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 20:49:24 +08:00
bernard 04b19b35e3 [libc][posix] Wake epoll waiters on OOM
If waiter allocation fails, mark the fd with POLLERR and wake
epoll_wait() instead of silently dropping the watch.
2026-08-30 20:49:24 +08:00
bernard 06e45356f8 [dfs][posix] Fix EFAULT, tmpfs setattr, and chmod bits
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 20:49:24 +08:00
bernard ebe4be9a50 [drivers][virtio] Depend VirtIO net on LWIP
将 VirtIO Net 的依赖从 RT_USING_ETHERNET 调整为 RT_USING_LWIP。
避免 SMART QEMU 在未启用以太网抽象时无法选择网卡。
2026-08-30 20:49:24 +08:00
bernard 3152ab617b [libc][posix] Fix epoll waiters and LWP syscall copies
修复 epoll waiter 生命周期,避免等待队列节点在回调后失效。
整理 LWP POSIX syscall 的用户空间拷贝和错误返回路径。
2026-08-30 20:49:24 +08:00
bernard 25cbe4abae [dfs][procfs] Add Linux-compatible process and system files
补齐 procfs 中 cpuinfo、stat、uptime、loadavg、meminfo、mounts 和进程目录文件。
按架构和 SMP 配置隔离仅在对应平台有效的字段,避免非 AArch64/非 SMP 构建告警。
2026-08-30 20:49:24 +08:00
bernard f02a869318 [dfs][posix] Add record locks, fchmod, and tmpfs metadata
为 DFS v2 增加 POSIX 记录锁、fchmod,以及 tmpfs 的权限和时间元数据。
进程退出时通过 dfs_fdtable_drop_fd 释放文件描述符和记录锁。
2026-08-30 20:49:24 +08:00
BadmintonMaster bf38ee2130 feat[bsp][xuantie]: c908 support rt-smart #11719 2026-08-28 12:25:32 +08:00
Hui Su 0ae80cc79c [bsp/qemu-vexpress-a9] support function names in backtraces
Pass -mpoke-function-name to the compiler and assembler when
RT_BACKTRACE_FUNCTION_NAME is enabled for the Cortex-A9 QEMU BSP.
Keep the BSP configuration opt-in so users can enable symbolized
backtraces through menuconfig without changing the default build.

The flag is appended through CCFLAGS and ASPPCOM after the build
environment is created instead of concatenating it into
CFLAGS/CXXFLAGS/ASFLAGS: when the toolchain is selected with
--exec-path, PrepareBuilding() reloads rtconfig and
_apply_exec_path_override() overwrites those variables, which would
silently drop the option. The build still succeeds but function names
are missing from the text section, leaving backtraces without usable
frames.

Example backtrace in QEMU (vexpress-a9, RT_BACKTRACE_FUNCTION_NAME=y,
fault triggered from msh through cmd_fault -> fault_level1 ->
fault_level2 -> fault_level3):

    backtrace:
    0x600475a8 @ fault_level3
    0x600475dc @ fault_level2
    0x60047608 @ fault_level1
    0x60047630 @ cmd_fault
    0x6006ca80 @ _msh_exec_cmd
    0x6006cb3c @ msh_exec
    0x600717b4 @ finsh_thread_entry

Signed-off-by: Hui Su <3164683437@qq.com>
2026-08-28 11:29:05 +08:00
CYFS 5abbbec420 [BSP][Renesas] Trigger SDHI card detection on R7FA8M85 2026-08-27 11:48:49 +08:00
zhangyuyang 14ef29af91 fix(netdev): 修复无网卡时 ping 命令空指针崩溃
netdev_cmd_ping 中 netdev 回退到 netdev_default 后未判空,
QEMU 无网卡环境下执行 ping 直接解引用 NULL 崩溃(data abort)。
回退后增加空指针检查,提示无可用网卡并返回错误。
2026-08-27 09:04:47 +08:00
CYFS 69c26789fd [bsp/renesas][drivers] Fix SPI runtime configuration 2026-08-27 09:01:32 +08:00
CYFS fcc4d6c01a [bsp/renesas][drivers] Skip invalid chip select writes in SCI SPI 2026-08-27 09:01:32 +08:00
Bernard Xiong 0305faf806 [finsh] Remove deprecated FINSH_FUNCTION_EXPORT_ALIAS#11734 2026-08-26 10:53:23 +08:00
CYFS 64f1fa4a0d [utest] Enforce minimum console buffer size 2026-08-26 10:42:35 +08:00
hanzhijian e2e6245aac [arm][cortex-m4] Add hardware stack guard support
Enable RT_USING_HW_STACK_GUARD on Cortex-M4, which was previously only
available on Cortex-M7 and Cortex-M33.

Core porting (libcpu/arm/cortex-m4/):
- Add mpu.c/mpu.h/mputype.h aligned with the Cortex-M7 MPU layer. The only
  difference is the default memory type attribute: Cortex-M4 has no L1 cache,
  so the cacheability bits are reduced to three cases.
- Add rt_hw_stack_guard_init() to cpuport.c.
- Add missing #include <rtconfig.h> to context_gcc.S and invoke
  rt_hw_mpu_table_switch() in the PendSV context switch path.
- Update SConscript to exclude mpu.c when memory protection is disabled.

BSP reference (bsp/stm32/stm32f407-fk407m2-zgt6/):
- board.h: include rtthread.h and define NUM_STATIC_REGIONS.
- board.c: define static_regions[] marking the Flash region read-only,
  guarded by RT_USING_MEM_PROTECTION so it is not enabled by default.
2026-08-26 10:37:02 +08:00
rcitach 45679c79de Improve BLE OTA image generation to avoid executing OPEN every time a flash erase and write operation occurs. 2026-08-25 22:04:44 +08:00
CYFS 5d19f81580 [renesas][ra8d1] Fix Keil flash download configuration 2026-08-24 17:10:54 +08:00
nxp-ran 6ea682795b [BSP][NXP] Add new features of I2C DMA, CAN, SPI, DWT and SDIO for RT1180 (#11715)
* updated template files, conifg files and script files to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* updated different link files of GCC, IAR and KEIL, for supporting multicore kick-off and different loading methods

* Updated .ini files to support debugging in keil. And updeated .mac files to support deugging in iar.

* Updated template files, conifg files and script files of CM7 to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* Updated different link files of GCC, IAR and KEIL of CM7 project, for supporting multicore kick-off and different loading methods.

* Modify LittleFS to use the last 1 MB of flash and update CM7 support for LittleFS on QSPI flash.

* Updated different link files of loading to hyperram.

* Updated .ini files of CM7 to support debugging in keil. And updeated .mac files of CM7 to support deugging in iar.

* Remove Keil projects and keep templates only.

* Remove RAMFUNC due to IAR compilation issues, and use linker configuration to place all flash operation code in RAM.

* Add related code to support kick-offing CM7 and rpmsg-lite.

* Add codes to support cherryUSB for CM33 and CM7.

* Add mnt.c to support littleFS for CM7.

* Add codes to support etherCAT for CM7.

* Add codes to support USART12 for RT1180.

* Modify the drv_uart_v2.c to fix some bug to make it can work in CM33, but still cannot work in CM7. Will continue to update in next version.

* Updated README with both Chinese and English versions.

* Move the EtherCAT code into the packages\nxp-imxrt-sdk-latest.

* Remove EtherCAT-related sources, keep only SConscript.

* updated ci.attachconfig.yml for cm33 and cm7 projects.

* Fixed BSP_ROOT path error in rtconfig.py.

* Added drv_netc.c and updated SConscript for netc.

* Updated cherryusb_port.c to avoid worning.

* Updated sconscript to locate multicore directory in packages for header inclusion.

* Updated cm33/board/board.c to avoid worning when enable cm33_kickoff_cm7.

* Deleted peripheral.ethercat, because the related protocol stack has not been uploaded. And added CONFIG_BSP_USING_GPIO=y for Peripheral.netc.:

* Removed the SConscript of multicore and ethercat to packages.

* Added CONFIG_BSP_USING_GPIO=y to Peripheral.hyperflash_dma.

* Added CONFIG_BSP_USING_GPIO=y for Peripheral.hyperflash.

* Reformat code according to coding standards.

* Reformat code according to coding standards.

* Added features of RTC, CAN, I2C DMA, SPI and SDIO for CM33.

* Updated flexspi_port.h to support using flexspi api only.

* Added ci.attachconfig of UART, RTC, CAN, I2C DMA, SPI, DWT and SDIO for CM33.

* Added features of RTC, CAN, I2C DMA, SPI and SDIO for CM7.

* Added ci.attachconfig of UART, RTC, CAN, I2C DMA, SPI, DWT and SDIO for CM7.

* Added driver of DWT.

* Added driver of flexCAN for RT1180.

* Added driver of i2c dma for RT1180.

* Added driver of lpspi and dma for RT1180.

* Added driver of sdio for RT1180.

* Added driver of RTC for RT1180.

* Updated driver of drv_uart.c and fixed some bugs in drv_uart_v2.c.

* Updated README of imxrt1180-nxp-evk.

* Reformat codes according to tools/ci/clang_format_check.py

* fix: use unsigned shift to avoid UB in drv_can.c

* Removed unnecessary build artifacts and test files.

* bsp/nxp/imxrt: fix CI build errors for non-RT1180 BSPs

* bsp/nxp/imxrt: clang-format drv_lpadc.c to fix CI format check

* Fixed standalone driver compilation errors and code formatting issues.

* Fixed CI attach failures by updating the default linker script for CM7-only ITCM builds with large .text sections.

* [bsp][imxrt] fix BBNSM GPR epoch truncation by storing epoch in two 32-bit GPRs

* [bsp][imxrt] define DBG_TAG/DBG_LVL before rtdbg.h in cm7 mnt.c

* [bsp][imxrt1180] fix(sdcard): add timeout to sd0 wait loop in mnt.c
2026-08-21 17:45:38 +08:00
ari.liu ba79f69477 [kernel][ipc] Fix timeout wakeup ownership race
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 16:52:01 +08:00
rcitach 5ae08713c8 Ensure that c906 uses only the Xuantie MMU properties 2026-08-21 16:51:33 +08:00
rcitach 46d7444773 fix ra6w1 device bug 2026-08-21 13:10:01 +08:00
hanzhijian 642040c405 [bsp][nuvoton] Clamp CAN receive DLC 2026-08-21 11:22:02 +08:00
yan hu 30af7388a4 [rust][tools] Fix Rust build example configuration handling
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 11:17:57 +08:00
Hui Su 339bffb702 [fix][libc] fix timegm month overflow calculation
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 <3164683437@qq.com>
2026-08-21 09:44:42 +08:00
hanzhijian 7d1e551549 [dfs] Fix path buffer leaks in utimensat 2026-08-20 18:30:47 +08:00
Onlyou_tzZ 9fce24b62b [bsp][n32] add H47X/H49X/H7XX driver support- #11711 #11711 2026-08-20 17:32:18 +08:00
Hui Su 8234a3614e [kernel/memheap] fix: stop invalid frees from corrupting heap
RT_ASSERT() does not stop execution when RT_DEBUGING_ASSERT is disabled.
Return after the existing block validation so a sequential duplicate free
cannot update heap accounting or the free list in release builds.

Before fix:
  memheap double-free used: before=64 alloc=224 free=64 after=4294959232

Validation:
scons -C bsp/qemu-vexpress-a9 -j$(nproc)

Signed-off-by: Hui Su <3164683437@qq.com>
2026-08-20 09:48:13 +08:00
Bernard Xiong 991f0ffca6 Add AF_UNIX sockets implementation (#11681)
* 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-17 17:15:34 +08:00
Kai d2acd7587e wlan: fix silent failure of wifi cmd when device mode not bound#11696 2026-08-17 14:34:57 +08:00
Kai 0823a4b80c wlan: add WPA3/enterprise/WAPI/OWE/DPP security modes 2026-08-17 11:00:04 +08:00
GuEe-GUI d890866143 [bsp/rockchip] Extend platform and peripheral support
Add support for audio, display, Ethernet, PCIe, PHY, SDIO, UFS,
hardware crypto and multimedia accelerators. Update the RK3300 and
RK3500 configurations and validation applications accordingly.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-16 19:57:29 +08:00
GuEe-GUI f7258a6bb8 [bsp/raspberry-pi] update DM support
- 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 <2991707448@qq.com>
2026-08-16 19:56:03 +08:00
GuEe-GUI 2bcc47d418 [bsp/zynqmp-a53-dfzu2eg] Port to the MACB for QEMU
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-14 16:45:29 +08:00
hanzhijian 0c1a9a429a [bsp][loongson] Clamp CAN receive DLC 2026-08-14 13:02:20 +08:00
GUI 7bf01ae18d [DM/OFW][PCI] Fix address translation and PCI resource enumeration (#11677)
* [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 <2991707448@qq.com>

* 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 <2991707448@qq.com>
2026-08-14 12:42:32 +08:00
GUI f2c05253d1 [dm][dma] Update DMA (#11678)
* [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 <2991707448@qq.com>

* [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 <2991707448@qq.com>

* 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 <2991707448@qq.com>
2026-08-14 12:42:01 +08:00
GUI c1418dbd2e [DM/Input] Add ADC joystick, keyboard, and touchscreen drivers (#11679)
* [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 <2991707448@qq.com>

* style: format code with clang-format

* drivers: input: address review feedback

* style: format input changes for current master

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-14 12:41:00 +08:00
GUI 4cf70e176c [dm][sdio] Update for SDHCI- #11684 #11684 2026-08-14 12:39:11 +08:00
rcitach 76b0267361 fix(ra6w1): two “board.h” files are in conflict 2026-08-13 15:51:17 +08:00
CYFS dad92df985 [bsp]: select RT_USING_SERIAL for UART configurations 2026-08-13 09:40:54 +08:00
CYFS 82a2fd64b1 [bsp][nxp]:Minimize bsp and switch to ci-attach for mcxa366 2026-08-13 09:39:12 +08:00
chen13587 0a5a829004 [bsp][nxp] Add RTduino support for FRDM-MCXA366 (#11594)
* 在FRDM-MCXA366工程内 修改main函数 添加uart_int_sample程序,实现串口的交互。在BOARD_InitPins函数内添加串口3的引脚初始化代码

* 根据 FRDM-MCXA366 的 Arduino 接口定义(J1/J2),完成了 RTduino 引脚映射表的编写。完成RTduino的D13(对应板子的P3_10)引脚控制测试,串口测试

* 已删除 RTE 文件夹,已恢复原始 main.c 的 LED 闪烁功能

* 完成ci

* remove RTE folder from tracking
2026-08-12 17:36:27 +08:00
Onlyou_tzZ b71a16830a [bsp/n32]上传Nsing LCDC和SDRAM的驱动#11682 2026-08-12 15:37:21 +08:00
Rbb666 46fdeefb32 refactor(pic): dispatch NVIC IRQs through traps 2026-08-12 12:54:50 +08:00
Rbb666 1f23e3f270 fix(dm): route Cortex-M resets through power core 2026-08-12 12:54:50 +08:00
Rbb666 f05fb1c076 fix(mm): exclude no-MMU ioremap from MMU builds 2026-08-12 12:54:50 +08:00
Rbb666 abce28f15c feat(renesas): add RA8P1 GPIO and external IRQ DM drivers
Add M85 device-tree GPIO and external-interrupt controllers, IRQ20 FSP integration, built-in DTB support, and BSP usage documentation.
2026-08-12 12:54:50 +08:00
Rbb666 655aea948e feat(stm32): add GPIO and EXTI device model drivers
Add device-tree GPIO/EXTI controllers, built-in DTB support for GCC and ArmClang, and BSP integration for STM32F407 RT-Spark and STM32H750 ART-Pi. Document how BSP users enable the DM drivers.
2026-08-12 12:54:50 +08:00
Rbb666 6b4f34204e feat(dm): support OFW on Cortex-M targets
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 12:54:50 +08:00