summaryrefslogtreecommitdiff
path: root/libcpu
AgeCommit message (Collapse)Author
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-11[libcpu] arm64: implement cpuid get by assembly (#9052)Shell
2024-06-07[mm] precise & readable mm fault type (#9047)Shell
* [smart] fixup: precise mm fault type Also, fixup arm64 read access fault * arm64: using meaningful macro on trap * fixup: renaming macro
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-26[libcpu] discard rt_current_thread (#8976)Shell
* [libcpu] rv64: discard rt_current_thread * arm: using rt_thread_self to fetch current TCB
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-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-08[libcpu][aarch64] Fixed the rt_hw_secondary_cpu_bsp_start() bug (#8898)liYangYang
* fix rt_hw_secondary_cpu_bsp_start() bug * timer init * comment
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[libcpu/arm64] dealing with mem region out of kernel space (#8847)Shell
* [ofw] dealing with mem region out of kernel space - Fix parameter checking in _out_of_range() that NULL is excluded for fixed mapping - Split page install with a deferred stage to avoid mapping over ARCH_EARLY_MAP_SIZE Signed-off-by: Shell <[email protected]> * fixup: restrict vstart for using of RT_NULL --------- Signed-off-by: Shell <[email protected]>
2024-04-30Fix compiling eror in hpmicro bsp (#8889)Fan Yang
- added 'DEVICE' to rtconfig.py - fixed compiling error cuased by change in interrupt_gcc.S Signed-off-by: Fan YANG <[email protected]>
2024-04-24[bsp]support cvitek sdhci drvier (#8849)flyingcys
support cvitek sdhci drvier
2024-04-18[cpu_cache] fix function replaced by macrowirano
2024-04-18[libcpu] remove .asm files in cortex-r52Meco Man
2024-04-18Delete unnecessary configurations in cortex-r52Rbb666
2024-04-16[libcpu][aarch64]fix memheap search in setup of aarch64zms123456
2024-04-10[bsp][renesas]Add cortex-r52 rzt2m adaptationRbb666
2024-04-11[bsp/phytium]中断相关修改 (#8742)zhangyan
* update smp 4
2024-04-11[bsp/rpi4] fixup startup failure (#8754)Shell
[bsp/rpi4] fixup startup issues Signed-off-by: Shell <[email protected]>
2024-04-02fix: code format of serial.c and compile error in aarch64 context_gcczhao maosheng
2024-04-01[components][drivers] fix posix tty, and add more baudrate (#8683)zms123456
* serial-tty fix * v2
2024-03-30[fixup] aarch64 UMP compiler error (#8677)Shell
Signed-off-by: Shell <[email protected]>
2024-03-29[bsp][art-pi-smart] 关闭内存对齐检查来避免数据访问异常liYangYang
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-28[libcpu/aarch64] improve performance of IRQ dis/en-able (#8687)Shell
Signed-off-by: Shell <[email protected]>
2024-03-21[libcpu/rv64] fixup for parameter passing on backtrace (#8655)Shell
Signed-off-by: Shell <[email protected]>
2024-03-19[bsp][cv1800b] fix a implicit-function-declaration warningLiuLingze
Signed-off-by: LiuLingze <[email protected]>
2024-03-19[bsp][cv1800b] fix a int-conversion warningLiuLingze
Signed-off-by: LiuLingze <[email protected]>
2024-03-13[bsp/phytium]Adapter aarch64/aarch32 (#8580)zhangyan
2024-03-02🎯 ↵zhangyan
[libcpu/arm/cortex-a]修改arm/cortex-a启动方式,解决cortex-a开启SMP工作异常问题 (#8517) Co-authored-by: wangzongqiang <[email protected]>
2024-03-02[fixup] check NULL pointer before access (#8573)Shell
Signed-off-by: Shell <[email protected]>
2024-03-01[components/driver] update serial (#8567)fangjianzhou
2024-02-29[components/drivers]update hwtimer (#8565)zms123456
2024-02-29[components][drivers]add pic-gic (#8388)zms123456
2024-02-23🎯 Sync smart & scheduler codes (#8537)Shell
Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>
2024-02-20[ci] open ci check with function declaration warning (#8546)Yuqiang Wang
2024-02-20[libcpu] 修复当开启 RT_USING_SMP ,并且 RT_CPUS_NR = 1 ↵fangjianzhou
时编译报错问题
2024-02-20[ci] fix errors under strick compiling modeMeco Man
2024-02-20[libcpu][SConscript]规范group名为libcpuMeco Man
2024-02-16Bsp nxp support (#8530)杨熙
Co-authored-by: StackYuan <[email protected]>
2024-02-06preventing erroneous optimization of rt_ioremap_earlyzhao maosheng
2024-01-28add libcpu/risc-v/rv64 (#8511)flyingcys
2024-01-09[kernel] fixup of data racing accessing percpu objects (#8475)Shell
Signed-off-by: Shell <[email protected]>
2024-01-02[kernel] Add hook for malloc servicesShell
Including the patch for memory allocation, testsuites and fixups of static analysis. Signed-off-by: Shell <[email protected]>
2023-12-16[libcpu][aarch64] 使用设备树对内存进行初始化 (#8320)fangjianzhou
2023-11-28[libcpu][aarch64] 使用设备树对CPU进行初始化 (#8221)fangjianzhou
2023-11-21[components] remove vmm (#8269)Meco Man
2023-11-10[debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INITMeco Man
2023-11-08fix aarch64 backtrace printgeniusgogo
2023-11-06修复 bsp/x86 编译问题zhkag