summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-06-29[src][thread]fix rt_thread_resume return value error (#9114)zms123456
fix rt_thread_resume return value error
2024-06-27[doc][doxygen] Fix hook struct error.supperthomas
Signed-off-by: supperthomas <[email protected]>
2024-06-26[doc][doxygen]: Fix doxygen warning in commentsupperthomas
kservice.c:474: warning: The following parameter of rt_backtrace_to_buffer(rt_thread_t thread, struct rt_hw_backtrace_frame *frame, long skip, rt_ubase_t *buffer, long buflen) is not documented: parameter 'thread' kernel.h:157: warning: unable to resolve reference to '_rt_errno' for \ref command Signed-off-by: supperthomas <[email protected]>
2024-06-20[timer]add all soft timer config (#9048)zms123456
* add all soft timer * update wq * add timer test * shield LOG_D
2024-06-18[libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067)Shell
* [libcpu] support for ARCH_REMAP_KERNEL These changes introduce support for the ARCH_REMAP_KERNEL configuration, which isolates kernel space in high virtual address regions. This feature is necessary to enhance memory protection and management by segregating user and kernel spaces more effectively. Changes: - Updated conditional macros to check for ARCH_REMAP_KERNEL instead of ARCH_KERNEL_IN_HIGH_VA in board initialization files to reflect the new configuration option. - Modified qemu-virt64-riscv Kconfig and SConstruct files to include and utilize ARCH_REMAP_KERNEL. - Created a new linker script `link_smart.lds` for smart linking in qemu-virt64-riscv. - Updated rtconfig.py to use a more flexible execution path setup. - Enhanced user address space definitions in `lwp_arch.h` to support the new virtual address mappings. - Adjusted kernel memory initialization and mapping logic in `c906/mmu.c` and `virt64/mmu.c` to account for high virtual address regions. - Added Kconfig option to enable ARCH_REMAP_KERNEL for RISCV64 architectures. - Enhanced memory setup functions to support new mapping scheme, including updates to early page table setup and address relocation logic. These modifications ensure that the system can utilize high memory addresses for the kernel, improving memory isolation and system stability. Signed-off-by: Shell <[email protected]> * fixup: CI run failed * bsp: default config without using smart * fixup: static checks * restore rt_hw_mmu_kernel_map_init for D1 --------- Signed-off-by: Shell <[email protected]>
2024-06-13[src][kservice]fix shutdown log (#9061)zms123456
fix shutdown log
2024-06-13[kservice] Enhance support for backtrace service (#9037)Shell
[feat] Enhance support for backtrace service rt_backtrace_formatted_print() and rt_backtrace_to_buffer() to help debug routines. Also, following modification are included: - make rt_backtrace_frame patchable with weak attr - replace lwp backtrace with sync output Signed-off-by: Shell <[email protected]>
2024-06-04[smart] add CPU/thread usage tracing config (#8947)Shell
* [smart] add CPU usage tracing config This patch introduces following features: - Added CPU usage tracing functionality, enabled by default, for applications like 'top' - update time as smart independent Signed-off-by: Shell <[email protected]> * fixup: add ump idle thread --------- Signed-off-by: Shell <[email protected]>
2024-05-29[IDLE] 修改注释,避免造成歧义 (#9010)wdfk-prog
2024-05-28[arm64] add hw thread self (#8942)Shell
* [libcpu] arm64: Add hardware thread_self support This patch introduces hardware-based thread self-identification for the AArch64 architecture. It optimizes thread management by using hardware registers to store and access the current thread's pointer, reducing overhead and improving overall performance. Changes include: - Added `ARCH_USING_HW_THREAD_SELF` configuration option. - Modified `rtdef.h`, `rtsched.h` to conditionally include `critical_switch_flag` based on the new config. - Updated context management in `context_gcc.S`, `cpuport.h` to support hardware-based thread self. - Enhanced `scheduler_mp.c` and `thread.c` to leverage the new hardware thread self feature. These modifications ensure better scheduling and thread handling, particularly in multi-core environments, by minimizing the software overhead associated with thread management. Signed-off-by: Shell <[email protected]> * fixup: address suggestion * fixup: rt_current_thread as global * scheduler: add cpu object for UP scheduler Also, maintain the rt_current_thread in cpu object on UP scheduler. --------- Signed-off-by: Shell <[email protected]>
2024-05-21[quality] fixup compiler warning (#8961)Shell
Signed-off-by: Shell <[email protected]>
2024-05-21[components][driver]add isr statistics (#8955)zms123456
add isr statistics
2024-05-21[utest] add device find (#8959)Shell
* [utest] add device find Signed-off-by: Shell <[email protected]> * fixup: add test * fixup: ptr aliasing * quality: meaning parameter --------- Signed-off-by: Shell <[email protected]>
2024-05-17[smart] select console device dynamically (#8949)Shell
* [smart] select console device dynamically - Fixed compiler warning on terminal subsystem for `components/lwp/terminal/terminal.h` - Updated default console setup to dynamically select an appropriate tty device based on the configured console device name. Signed-off-by: Shell <[email protected]> * fixup: remove useless codes --------- Signed-off-by: Shell <[email protected]>
2024-05-16[libcpu/arm64] add C11 atomic ticket spinlock (#8882)Shell
* [libcpu/arm64] add C11 atomic ticket spinlock Replace the former implementation of flag-based spinlock which is unfair Besides, C11 atomic implementation is more readable (it's C anyway), and maintainable. Cause toolchain can use their builtin optimization and tune for different micro-architectures. For example armv8.5 introduces a better instruction. The compiler can help with that when it knows your target platform in support of it. Signed-off-by: Shell <[email protected]> * fixup: RT_CPUS_NR --------- Signed-off-by: Shell <[email protected]>
2024-05-11[hrtimer] fixup use-after-free (#8928)Shell
Signed-off-by: Shell <[email protected]>
2024-05-10[smart] fixup arm64 aspace switch (#8925)Shell
* [smart] fixup arm64 aspace switch Signed-off-by: Shell <[email protected]> * fixup: arm add arch_kernel_mmu_table_get --------- Signed-off-by: Shell <[email protected]>
2024-05-09fix RT_DEBUGING_ASSERTgeniusgogo
2024-05-07[kernel][timer] remove wordy logsMeco Man
2024-05-08[timer] The rt_timer_check and _soft_timer_check functions are merged (#8884)wdfk-prog
2024-05-08[ipc] support of lockless rt_completion (#8887)Shell
* [ipc] lockless rt_completion implementation The new rt_completion implemented by lockless algorithm can improve timer resolution for up to ~12%, compare to sem IPC. Signed-off-by: Shell <[email protected]> * fixup: error * remove useless changes --------- Signed-off-by: Shell <[email protected]>
2024-05-08[src] add rt_hw_cpu_id() wrapper API (#8894)Shell
* [src] add rt_hw_cpu_id() wrapper API rt_hw_cpu_id() is an unsafe API which should not be used by most codes directly. It's error-prone because it must be used in proper context, otherwise it can lead to errors and unpredictable behavior. This patch adds a wrapper API for rt_hw_cpu_id() to address this risk. It includes the context-checking functionality and provides a safer alternative for obtaining CPU IDs, ensuring that it is used correctly within the appropriate context. Signed-off-by: Shell <[email protected]> * fixup UMP * update API & comment * ci: cpp_check --------- Signed-off-by: Shell <[email protected]>
2024-05-06[src][Kconfig]make RT_ASSERT independent of RT_USING_DEUBGzms123456
2024-05-01[kernel] add rt_thread_close()Shell
* [thread] Add rt_thread_close() This patch introduces a new function `rt_thread_close()` to enhances the usability and maintainability by providing a dedicated mechanism for closing threads. - A new function `rt_thread_close()` is added to the API, providing a standardized approach for closing threads. - The `rt_thread_close()` function removes a thread from the thread queue, updates its status to indicate closure, and performs the thread timer detaching which is a embedded timer in thread object. - Additionally, the `rt_thread_detach()` function is modified to utilize `rt_thread_close()` internally, streamlining the thread detachment process. Signed-off-by: Shell <[email protected]>
2024-04-28[src][thread]bind cpu fixup (#8872)zms123456
bind cpu fixup
2024-04-27[mem]When using SLAB, calls to memcheck and memtrace will be abnormal (#8862)wdfk-prog
* [mem]When using SLAB, calls to memcheck and memtrace will be abnormal * [mem]The memtrace printing system does not match the display
2024-04-20[klibc] organize and renmae macros, and add CI checkMeco Man
2024-04-20[kernel] move errno functions into klibcMeco Man
2024-04-19fixup: add Kconfig optionShell
2024-04-19fixup: debugShell
2024-04-19add cpu upShell
2024-04-18[mem] Remove useless code And Update mem documentationwdfk-prog
2024-04-16upgrade RT-Thread version to v5.2.0Meco Man
2024-04-16[fix] 添加创建线程函数时间片参数检查 (#8807)Yaochenger
2024-04-15[components][drivers]fix workqueue bugzms123456
fix workqueue bug
2024-04-13[mem] Modify macro definitions for better code readingwdfk-prog
2024-04-10[src][scheduler]修复 rt_exit_critical_safe 函数错误地使用了返回sp-cai
函数 rt_exit_critical_safe 应是没有返回值的,rt_exit_critical() 也是没返回值的
2024-04-02[kernel]SIGNAL节点分配失败应该返回错误posfilu
2024-03-30[gcc] add footprint information when compilingMeco Man
2024-03-28sync smart & dfs (#8672)Shell
Signed-off-by: xqyjlj <[email protected]> Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>
2024-03-20[kernel] remove redundant _scheduler_stack_checkShell
2024-03-20[kernel] move std libc related to rtklibc.hMeco Man
2024-03-19[kernel] fix marcos warning in Keil5Meco Man
2024-03-19[kernel][timer] remove unused _soft_timer_statusMeco Man
which caused warnings when using Keil5
2024-03-06[kernel][timer] remove _timerhead_idx which is unusedMeco Man
2024-03-03[ci][kernel] only GCC use strict checkingMeco Man
2024-03-03[kservice]:修复关闭RT_USING_CONSOLE和RT_USING_FINSH编译有警告的 ↵BreederBai
BUG (#8575)
2024-03-02[fixup] check NULL pointer before access (#8573)Shell
Signed-off-by: Shell <[email protected]>
2024-02-25[kservice] 完善rt_vsnprintf (#8558)Meco Man
2024-02-23🎯 Sync smart & scheduler codes (#8537)Shell
Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>