summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-06[action] set runner to ubuntu22.04Supper Thomas
2025-01-06feat: Kconfig: collecting some config to sub-menuShell
To improve the readability of the menuconfig. Signed-off-by: Shell <[email protected]>
2025-01-06fixup: umount: set errno according to POSIXShell
According to the POSIX.1, we should give a EBUSY on umount(2) of busy filesystem. Signed-off-by: Shell <[email protected]>
2025-01-06feat: add support for dfs remount functionalityShell
This patch introduces a remount feature for the DFS, allowing for the modification of mount parameters without unmounting the filesystem, the remount functionality helps modify certain mount flags (like `MS_RDONLY`) without requiring an unmount, providing more control over mounted filesystems in the system. The updates is essential for user space init proc to cleanup the runtime resource, ensuring clean handling of cached data and enhancing system robustness during power down processing. Changes: - Defined new constants for remount flags in `dfs_fs.h`. - Added the `dfs_remount()` function in `dfs_fs.c` to handle remount operations. - Introduced a check for unsupported flags and handle error conditions such as invalid paths or non-directory targets. - Updated the `dfs_mnt` structure in `dfs_mnt.h` to include a read-only flag (`MNT_RDONLY`). - The `dfs_remount()` function allows changing the read-only status of a mounted filesystem. - Added `MNT_LAZY_UMNT` and `MNT_RDONLY` flags to `dfs_mnt` structure. - Introduced `dfs_mnt_setflags` function for dynamic flag management. - Updated `dfs_remount` to utilize `dfs_mnt_setflags` for flag setting. - Enhanced unmount operations with `dfs_mnt_umount_iter` and lazy unmounting. - Added `dfs_pcache_clean` to handle cache cleanup for read-only mounts. - Improved error reporting in `dfs_umount` for better user feedback. - Refactored `sys_mount` to streamline parameter handling and support remounts. - Introduced `_cp_from_usr_string` helper for user-space string operations. - Updated internal APIs to ensure consistency in reference count management. Signed-off-by: Shell <[email protected]>
2025-01-06feat: add system reboot and process teardown supportShell
The patch introduces support for system reboot functionality and process teardown, allowing for a clean shutdown and unmounting of the root filesystem. This is necessary for ensuring a proper system shutdown process, especially when dealing with resource cleanup and ensuring that all processes have exited before system shutdown. Changes: - Added `lwp_teardown()` function to handle process cleanup and system teardown. - Introduced `lwp_pid_wait_for_empty()` to wait for process ID table emptiness before proceeding with shutdown. - Updated `dfs_mnt_unref()` to trigger callbacks when unmounting a filesystem. - Added new reboot types (`RB_AUTOBOOT`, `RB_POWER_OFF`) and implemented their corresponding actions, including cleanup of processes and unmounting root filesystem. - Extended `sys_reboot()` to handle reboot and power off types with appropriate callbacks for process and filesystem teardown. - Introduced callback mechanism for root filesystem unmount notifications. Signed-off-by: Shell <[email protected]>
2025-01-06feat: add universal process runtime serviceShell
This change introduces the `lwp_runtime.c` component, which provides the necessary runtime environment for the init process, including boot scripts, shutdown, and poweroff functionalities. The initialization logic has been moved from `lwp.c` to this new file, enhancing modularity and flexibility in handling LWP runtime tasks. Changes: - Moved the `lwp_startup` function from `lwp.c` to `lwp_runtime.c` to handle system initialization and runtime environment setup. - Added `lwp_teardown` placeholder for system shutdown and cleanup tasks in the future (though not yet implemented). - Introduced the `LWP_USING_RUNTIME` configuration option in `Kconfig` to conditionally enable the runtime environment. - Updated the `SConscript` to conditionally include `lwp_runtime.c` based on the `LWP_USING_RUNTIME` configuration. - Removed the old `lwp_startup` code from `lwp.c`, simplifying the file. Signed-off-by: Shell <[email protected]>
2025-01-06feat: add signal kill all functionalityShell
This change introduces the `lwp_signal_kill_all` function, which allows a signal to be sent to all processes in the system. The function iterates over all PIDs and sends the specified signal to each process, except those that are protected from signals. This enhancement provides a convenient way to broadcast signals across all processes in the system. Changes: - Added `lwp_signal_kill_all` function in `lwp_signal.c` to broadcast a signal to all processes by iterating over all PIDs using the existing `lwp_pid_for_each` function. - Introduced a new `kill_all_param` structure to encapsulate the signal information needed for killing processes. - Added internal `_kill_each` helper function for sending the signal to each PID. - Updated `lwp_signal.h` with the new function prototype for `lwp_signal_kill_all`. - Modified `sys_kill` in `lwp_syscall.c` to call `lwp_signal_kill_all` when a process is not specified. Signed-off-by: Shell <[email protected]>
2025-01-06feat: support PID iterationShell
This change introduces the `lwp_pid_for_each` function, which provides a convenient and thread-safe method for iterating over PIDs with a user- defined callback. This addition is necessary to support cases where operations must be performed on each PID in the balanced tree, enhancing flexibility and modularity for PID management. Changes: - Added `lwp_pid_for_each` function in `lwp_pid.c` to allow iteration over PIDs using a callback function and optional data parameter. - Defined a new internal `pid_foreach_param` structure to encapsulate the callback and data for the iteration. - Added `_before_cb` helper function for executing the callback on each PID node during AVL traversal. - Ensured thread safety by acquiring and releasing the PID lock around the AVL traversal within `lwp_pid_for_each`. - Updated `lwp_pid.h` with the `lwp_pid_for_each` function prototype and included `rtthread.h` for necessary types. Signed-off-by: Shell <[email protected]>
2025-01-05[tools] add logging as Env['log']bernard
Add logging as Env['log']: - the default level is INFO; - when using `scons --verbose`, the level will be change to debug level. - Add more debug information for cc detection.
2025-01-05[wq][fix]工作队列默认使用C99标准实现遍历Rbb666
2025-01-05[wlan] add ap_get_info api for more ap informationEvlers
2025-01-04[kservice] optimize console_deviceMeco Man
2025-01-04Fix: [CAN][STM32] GCC compile errorsGibby
error: a label can only be part of a statement and a declaration is not a statement 459 | rt_uint32_t errtype;
2025-01-04[rt_vsscanf] upgrade version and add test caseMeco Man
from: https://github.com/phoenix-rtos/libphoenix/blob/master/stdio/scanf.c BSD-3-Clause license
2025-01-03[utest] add rt_memset test caseMeco Man
2025-01-03[romfs/dfs_romfs.c] _rom_fops add ioctlyuqingli
2025-01-03[doc]Update doxygen rtthread_logo.png (#9861)Rbb666
2025-01-03[AT] AT_Device 适配 SERIAL_V2 (#9860)dongly
AT_Device 适配 SERIAL_V2
2025-01-03[doc] doxygen attach github pages (#9859)Supper Thomas
* [doc] doxygen attach github pages * Update doxygen.yml * Update doxygen.yml * Update doxygen.yml * Update doxygen.yml
2025-01-03[tools]: fix the issue of missing commands in compile_commands.json (#9856)aka-adi
* [tools]: fix the issue of missing commands in compile_commands.json * [tools]: fix the path of compile_commands.json
2025-01-02删除 RT_EBUSY 返回值注释yuqingli
2025-01-02[ipc/workqueue.c] 删除无用的判断yuqingli
2025-01-02[ipc/workqueue.c] delete timer, using list.yuqingli
2025-01-01[bsp][stm32l496zg] add onchip configSupper Thomas
2025-01-01修复编译过程中的 DFS_V2报错、FAL警告yuqingli05
2025-01-01bsp: cvitek: remove RT_USING_VIRTIO for arm64Chen Wang
duo is a real hardware, no need for virtio. Disable RT_USING_VIRTIO and update configuration to latest. Signed-off-by: Chen Wang <[email protected]>
2025-01-01update(cherryusb): update to v1.4.2sakumisu
Signed-off-by: sakumisu <[email protected]>
2025-01-01[utest][wq]add workqueue_tc (#9850)Rbb666
* [utest][wq]add workqueue_tc. * [action][ci]ci添加wq测试用例
2024-12-30bsp: cvitek: update README for cv18xx_aarch64Chen Wang
Re-write README.md for aarch64. Signed-off-by: Chen Wang <[email protected]>
2024-12-30bsp: cvitek: update combine.sh for arm64Chen Wang
Move the combine.sh to under cv18xx_aarch64, so we can run this script the same as scons and no need to change cwd. Rename the folder boot to prebuild just becuase all the files under boot are prebuild binaries. Move the prebuilt fip.bin to under prebuild/milkv-duo256m because it's only for 256. Update combine.sh accordingly and output fip.bin to the output folder where we create fip.bin/boot.sd as other bsp. Signed-off-by: Chen Wang <[email protected]>
2024-12-30bsp: cvitek: use ioremap for arm64 coreChen Wang
For ARM, RT-smart and RT-standard both enable mmc (see rt_hw_board_init() in bsp/cvitek/cv18xx_aarch64/board/board.c, rt_hw_mmu_setup is called both for smart or standard). So ioremap is must to do for ARM. Signed-off-by: Chen Wang <[email protected]>
2024-12-30components: drivers: add RT_USING_SMP judgement inside smp_call.hChen Wang
smp_call.h defines SMP-related structures and declares SMP-related functions. These codes are only valid when RT_USING_SMP is defined in the bsp, which means we have to use RT_USING_SMP for judgment in every place where this file is included, such as following: ```c ``` Now move the judgment of RT_USING_SMP directly into smp_call.h, so that it's simpler to include the header file as: ```c ``` Signed-off-by: Chen Wang <[email protected]>
2024-12-27[include] RT_USING_MUSLLIBC结构体报错的bug (#9834)godmial
解决了gd32470z-lckfb libc_dirent结构体报错的bug
2024-12-27[DM/BLOCK] Fixup DFS partition memory leakGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-12-26bsp: cvitek: doc updateChen Wang
Updated README for cvitek. Signed-off-by: Chen Wang <[email protected]>
2024-12-26[wlan] add get_info api for more new sta informationEvlers
2024-12-25add support for independent dns services for multiple network devicesEvlers
2024-12-25Update Kconfig下里巴人
2024-12-25Update Kconfig file format下里巴人
2024-12-25[bsp][nxp][mcxa153] the full implementation of eFlexPWMhywing
2024-12-25bsp: qemu-virt64-riscv: Kconfig: remove duplicated RT_USING_VIRTIOChen Wang
There is problem in the Kconfig of qemu-virt64-riscv. RT_USING_VIRTIO is already defined in components/drivers/virtio/Kconfig, so it should not be defined again in the BSP kconfig. The solution is to rename RT_USING_VIRTIO to BSP_USING_VIRTIO. Also, refer to the configuration method for virtio device drivers in bsp/qemu-virt64-aarch64/drivers/Kconfig to rewrite the configuration of BSP_USING_VIRTIO_xxx. Updated default .config/rtconfig.h at the same time. Signed-off-by: Chen Wang <[email protected]>
2024-12-24[utest] implement rt_memcmp test casesMeco Man
2024-12-24[utest] implement more test case for rt_memcpyMeco Man
2024-12-24[utest] remove rt_kprintf from TC_rt_sprintf.cMeco Man
2024-12-24[utest] implement uassert_ptr_equal and uassert_ptr_not_equalMeco Man
2024-12-24[libc] uncomment wcwidth for win32Meco Man
2024-12-23Specification of rtc synchronization functionskurisaw
2024-12-22[utest][klibc] add rt_sprintf family functions test casesMeco Man
2024-12-22doc: introduce how to build & run doxygen on ubuntuChen Wang
Update readme doc to introduce how to build doxygen and run html on Ubuntu machines. Signed-off-by: Chen Wang <[email protected]>
2024-12-22[dm2.0] add general sdhci driver it support pio&&sdmazhujiale