Shell
f00db6381a
[mm] precise & readable mm fault type ( #9047 )
...
* [smart] fixup: precise mm fault type
Also, fixup arm64 read access fault
* arm64: using meaningful macro on trap
* fixup: renaming macro
2024-06-07 21:34:03 +08:00
Shell
f17f994f8c
[arm64] add hw thread self ( #8942 )
...
* [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 <smokewood@qq.com>
* 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 <smokewood@qq.com>
2024-05-28 14:27:55 +08:00
Shell
397cdcd132
[libcpu] discard rt_current_thread ( #8976 )
...
* [libcpu] rv64: discard rt_current_thread
* arm: using rt_thread_self to fetch current TCB
2024-05-26 22:00:17 +08:00
Shell
e25fc8b511
[libcpu/arm64] add C11 atomic ticket spinlock ( #8882 )
...
* [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 <smokewood@qq.com>
* fixup: RT_CPUS_NR
---------
Signed-off-by: Shell <smokewood@qq.com>
2024-05-16 15:45:12 +08:00
Shell
017b2a5a44
[smart] fixup arm64 aspace switch ( #8925 )
...
* [smart] fixup arm64 aspace switch
Signed-off-by: Shell <smokewood@qq.com>
* fixup: arm add arch_kernel_mmu_table_get
---------
Signed-off-by: Shell <smokewood@qq.com>
2024-05-10 09:17:19 +08:00
liYangYang
dbf8a26e6c
[libcpu][aarch64] Fixed the rt_hw_secondary_cpu_bsp_start() bug ( #8898 )
...
* fix rt_hw_secondary_cpu_bsp_start() bug
* timer init
* comment
2024-05-08 19:48:17 +08:00
Shell
48bd0e49f2
[ipc] support of lockless rt_completion ( #8887 )
...
* [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 <smokewood@qq.com>
* fixup: error
* remove useless changes
---------
Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:25:57 +08:00
Shell
9ba6cec663
[libcpu/arm64] dealing with mem region out of kernel space ( #8847 )
...
* [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 <smokewood@qq.com>
* fixup: restrict vstart for using of RT_NULL
---------
Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:23:31 +08:00
Fan Yang
c21ba6985d
Fix compiling eror in hpmicro bsp ( #8889 )
...
- added 'DEVICE' to rtconfig.py
- fixed compiling error cuased by change in interrupt_gcc.S
Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-04-30 20:11:47 +08:00
flyingcys
2c8c4ccc47
[bsp]support cvitek sdhci drvier ( #8849 )
...
support cvitek sdhci drvier
2024-04-24 05:40:22 +08:00
wirano
202bacb44d
[cpu_cache] fix function replaced by macro
2024-04-18 20:40:55 -04:00
Meco Man
a841091827
[libcpu] remove .asm files in cortex-r52
2024-04-18 20:32:47 -04:00
Rbb666
9a3172540f
Delete unnecessary configurations in cortex-r52
2024-04-18 20:32:47 -04:00
zms123456
cc47212b53
[libcpu][aarch64]fix memheap search in setup of aarch64
2024-04-16 19:56:01 -04:00
Rbb666
1497a3117a
[bsp][renesas]Add cortex-r52 rzt2m adaptation
2024-04-10 20:47:53 -04:00
zhangyan
81df7bcdde
[bsp/phytium]中断相关修改 ( #8742 )
...
* update smp 4
2024-04-11 00:09:17 +08:00
Shell
b14e0c08e1
[bsp/rpi4] fixup startup failure ( #8754 )
...
[bsp/rpi4] fixup startup issues
Signed-off-by: Shell <smokewood@qq.com>
2024-04-11 00:02:49 +08:00
zhao maosheng
687eb87a2b
fix: code format of serial.c and compile error in aarch64 context_gcc
2024-04-02 08:07:21 -04:00
zms123456
d856f77a55
[components][drivers] fix posix tty, and add more baudrate ( #8683 )
...
* serial-tty fix
* v2
2024-04-01 21:23:04 +08:00
Shell
864055bf18
[fixup] aarch64 UMP compiler error ( #8677 )
...
Signed-off-by: Shell <smokewood@qq.com>
2024-03-30 17:58:38 +08:00
liYangYang
9a1996ef59
[bsp][art-pi-smart] 关闭内存对齐检查来避免数据访问异常
2024-03-29 21:43:57 -04:00
Shell
83e95bdff4
sync smart & dfs ( #8672 )
...
Signed-off-by: xqyjlj <xqyjlj@126.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-03-28 23:42:56 +08:00
Shell
751c2ada43
[libcpu/aarch64] improve performance of IRQ dis/en-able ( #8687 )
...
Signed-off-by: Shell <smokewood@qq.com>
2024-03-28 23:32:05 +08:00
Shell
ea63dd6c57
[libcpu/rv64] fixup for parameter passing on backtrace ( #8655 )
...
Signed-off-by: Shell <smokewood@qq.com>
2024-03-21 20:23:36 +08:00
LiuLingze
8120fa5e31
[bsp][cv1800b] fix a implicit-function-declaration warning
...
Signed-off-by: LiuLingze <luiyanbing@foxmail.com>
2024-03-19 08:10:43 -04:00
LiuLingze
26b40d534c
[bsp][cv1800b] fix a int-conversion warning
...
Signed-off-by: LiuLingze <luiyanbing@foxmail.com>
2024-03-19 08:10:43 -04:00
zhangyan
fad78950ea
[bsp/phytium]Adapter aarch64/aarch32 ( #8580 )
2024-03-13 18:07:03 +08:00
zhangyan
76202e2141
🎯 [libcpu/arm/cortex-a]修改arm/cortex-a启动方式,解决cortex-a开启SMP工作异常问题 ( #8517 )
...
Co-authored-by: wangzongqiang <wangzongqiang1322@phytium.com.cn>
2024-03-02 16:06:07 +08:00
Shell
53754ff50a
[fixup] check NULL pointer before access ( #8573 )
...
Signed-off-by: Shell <smokewood@qq.com>
2024-03-02 16:05:19 +08:00
fangjianzhou
00c6800e4e
[components/driver] update serial ( #8567 )
2024-03-01 10:29:21 +08:00
zms123456
6b5058ba5c
[components/drivers]update hwtimer ( #8565 )
2024-02-29 22:27:38 +08:00
zms123456
195f94ef1d
[components][drivers]add pic-gic ( #8388 )
2024-02-29 09:39:56 +08:00
Shell
71560bafb5
🎯 Sync smart & scheduler codes ( #8537 )
...
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-02-23 17:49:15 +08:00
Yuqiang Wang
c6bdee3c50
[ci] open ci check with function declaration warning ( #8546 )
2024-02-20 22:45:04 -05:00
fangjianzhou
66e3faa71f
[libcpu] 修复当开启 RT_USING_SMP ,并且 RT_CPUS_NR = 1 时编译报错问题
2024-02-20 18:25:37 -05:00
Meco Man
bd228eb9c5
[ci] fix errors under strick compiling mode
2024-02-20 08:39:05 +08:00
Meco Man
6d4503363a
[libcpu][SConscript]规范group名为libcpu
2024-02-20 08:39:05 +08:00
杨熙
41e08084f8
Bsp nxp support ( #8530 )
...
Co-authored-by: StackYuan <yuanjyjyj@outlook.com>
2024-02-16 00:30:50 +08:00
zhao maosheng
49b17d01ac
preventing erroneous optimization of rt_ioremap_early
2024-02-06 18:34:53 -05:00
flyingcys
3f41bd95d1
add libcpu/risc-v/rv64 ( #8511 )
2024-01-28 13:39:39 +08:00
Shell
cc157baf23
[kernel] fixup of data racing accessing percpu objects ( #8475 )
...
Signed-off-by: Shell <smokewood@qq.com>
2024-01-09 23:09:49 +08:00
Shell
3a7903b799
[kernel] Add hook for malloc services
...
Including the patch for memory allocation, testsuites and fixups of
static analysis.
Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
fangjianzhou
b233e29bb6
[libcpu][aarch64] 使用设备树对内存进行初始化 ( #8320 )
2023-12-16 18:08:11 +08:00
fangjianzhou
249871cbbc
[libcpu][aarch64] 使用设备树对CPU进行初始化 ( #8221 )
2023-11-28 14:20:11 +08:00
Meco Man
df29a13d89
[components] remove vmm ( #8269 )
2023-11-21 13:41:54 +08:00
Meco Man
589641258e
[debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INIT
2023-11-10 05:24:33 -05:00
geniusgogo
df0d8b4230
fix aarch64 backtrace print
2023-11-08 06:11:10 -05:00
zhkag
3db4b3e4ae
修复 bsp/x86 编译问题
2023-11-06 06:23:09 -05:00
Shell
c2036e769a
[smart] fixup of lwp recycling and mm varea ( #8206 )
...
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2023-11-02 20:23:11 +08:00
xqyjlj
1b6f0e88a3
🐞 fix: fix d1s smart build ( #8212 )
2023-11-02 20:16:02 +08:00
Rbb666
7ace7d0a78
[libcpu][renesas]add cortex-m85 && ek-ra8m1 adapt
2023-10-31 15:09:17 +08:00
tangzz98
acc66c5479
实现MPU抽象层 ( #8080 )
...
- 为RT-Thread设计MPU抽象层,支持ARMV7-M,ARMV8-M架构,让用户使用MPU检测栈溢出等内存问题,实现线程内存隔离
- 在components/mp目录下提供通用的API,libcpu目录下提供各处理器架构的具体实现
- 在STM32U575 NUCLEO, STM32H75 NUCLEO开发板测试通过
2023-10-30 08:24:55 -04:00
xqyjlj
3283f54c7a
🎈 perf: perf rt_hw_interrupt_disable/enable ( #8042 )
...
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
Shell
fb78a71020
[smart] replace varea pgmgr and fixup of dfs mmap ( #8184 )
...
Signed-off-by: shell <smokewood@qq.com>
Signed-off-by: Shell <smokewood@qq.com>
2023-10-25 14:59:48 +08:00
Raman
adbb5fd94a
AT32UC3B: Rewire _intx for updated exceptions file from Microchip ( #8182 )
2023-10-25 09:28:03 +08:00
Shell
70a8d1d465
[kservice] improve backtrace service in kernel ( #8144 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-10-21 20:14:45 +08:00
Shell
1d678e5596
[smart] fixup: mmap support ( #8154 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-10-20 13:28:20 +08:00
Shell
07b23ecbb1
[libcpu] fix symbol of kernel entry point ( #8159 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-10-20 13:27:38 +08:00
Raman Gopalan
265a55303e
Implement UART driver files for AT32UC3B: Working commit
2023-10-17 11:22:07 -04:00
geniusgogo
ecd29fda60
Sync dfs lwp ( #8123 )
2023-10-17 13:07:59 +08:00
guozhanxin
d8a2084c05
[libcpu/cortex-a] Fix the problem of circular include of cpuport.h
2023-09-27 10:16:46 +08:00
zhkag
b2433129b2
[tools]fix scons --dist , menuconfig will error ( #8069 )
2023-09-26 11:35:27 +08:00
Meco Man
47a3139b63
[iar]修复__LDREX 和 __STREX 报 declared implicitly 警告
...
related: https://github.com/RT-Thread/rt-thread/issues/7381
2023-09-20 10:01:25 +08:00
Shell
b0deb61bc4
[libcpu/aarch64] fix compile error ( #8045 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-09-16 11:52:42 +08:00
geniusgogo
e8e980879e
change aarch64 trap backtrace & coredump priority rating. ( #8008 )
2023-09-11 14:05:41 +08:00
Shell
47b183a297
[smart/syscall] fix exit(2) and add exit_group(2) ( #8005 )
...
Signed-off-by: shell <smokewood@qq.com>
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
Signed-off-by: Shell <smokewood@qq.com>
2023-09-09 09:35:56 +08:00
aozima
3e91307326
fixed stack setup when using SMP. ( #7978 )
2023-08-26 07:36:25 +08:00
Wayne Lin
86f72ed6da
Update NuMaker-M2354 BSP building.
...
1. Remove rt_hw_cpu_reset implementation in libcpu.
2. Update configuration.
3. Add drv_log.h for building.
4. Fix warnings.
2023-08-24 12:54:19 -04:00
Shell
d862816a51
[components/mm] add unmap page API ( #7834 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-08-16 15:38:59 +08:00
Fan YANG
5308cc4716
[libcpu][risc-v][common] Fix application crash on risc-v soc if FPU is
...
enabled
- Defined ARCH_RISCV_FPU once the __riscv_flen macro was detected
Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2023-08-11 21:20:28 -04:00
Fan YANG
5ac509b6d0
[libcpu][risc-v][common] Avoid using t0 before being saved
...
- Fixed the issue that t0 was modified unexpectedly before being saved
Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2023-08-09 01:07:11 -04:00
Meco Man
c6a2f5b7bd
rt_hw_cpu_shutdown: implement default weak function
...
and remvoe duplicated default functions in each cpu/bsp level
2023-08-08 22:34:25 -04:00
Meco Man
cb810dfe75
rt_hw_cpu_reset: remove all other rt_weak
2023-08-08 22:34:25 -04:00
geniusgogo
4d20416b2f
update components & lwp. ( #7888 )
2023-08-07 12:22:14 -04:00
GUI
d3417aa0d7
Prepare some api for DM ( #7894 )
...
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-08-02 12:48:24 +08:00
guo
51100ae4a6
[libcpu/Kconfig] add ARCH_ARM_CORTEX_M23 define ( #7895 )
2023-08-01 00:00:49 +08:00
xqyjlj
d23dd56692
🐞 fix(ktime): fix wrong boottime
...
因为tick从中断到设置中间的时延特别大,因此暂不采用tick做基准时间,直接取gtime的cnt做基准时间
2023-07-27 11:35:29 +08:00
GUI
6f119d4ce9
AArch64: support public linker scripts ( #7831 )
...
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-25 21:31:44 +08:00
GUI
ff0c148244
AArch64: fixup HW atomic_t ops type from dword to qword ( #7861 )
...
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-25 15:34:57 +08:00
Shell
acfa74f078
[libcpu/arm] fix race condition with ldrex,strex ( #7842 )
...
Signed-off-by: Shell <smokewood@qq.com>
2023-07-25 14:07:44 +08:00
Man, Jianting (Meco)
244b903e5d
[debug] 整理debug宏并增加RT_DEBUGING_CONTEXT ( #7805 )
2023-07-22 10:36:42 +08:00
yby
8f164529a3
[libcpu][arc]修复arc架构线程切换bug ( #7825 )
2023-07-18 00:09:51 +08:00
xqyjlj
0eb75ced70
[time]时钟框架重构 ( #7794 )
2023-07-17 20:11:58 +08:00
GUI
b424169e17
AArch64: fixup fpu storage's size in stack and append Q16 ~ Q31 ( #7815 )
...
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-15 15:21:23 +08:00
lepus
2741bec8f7
[libcpu][cortex-a]modified start_gcc.S ( #7810 )
2023-07-14 23:12:04 +08:00
Supper Thomas
350626841a
[libcpu]fix RT_ASSERT undefine ( #7816 )
2023-07-14 09:47:02 +08:00
Meco Man
237bbfd968
[debug] remove RT_DEBUG_xxx
...
remove RT_DEBUG_THREAD RT_DEBUG_SCHEDULER RT_DEBUG_IPC RT_DEBUG_TIMER RT_DEBUG_IRQ RT_DEBUG_MEM RT_DEBUG_SLAB RT_DEBUG_MEMHEAP
2023-07-09 00:19:29 -04:00
guo
78867912c1
Merge pull request #7788 from ErikChanHub/master
...
【dd2.0】Support Open Firmware API
2023-07-06 16:52:30 +08:00
zhkag
c7be260665
[simulator] 修复函数定义不一致
2023-07-06 01:34:53 -04:00
wusongjie
3b7e46de7e
AArch64: support hardware atomic
...
Support aarch64 rt_hw_atomic_* api.
Add atomic implemente by rt_atomic api:
rt_atomic_dec_and_test
rt_atomic_fetch_add_unless
rt_atomic_add_unless
rt_atomic_inc_not_zero
Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-05 13:38:29 +08:00
wangqinglin
e0b2b8fecd
修复aarch64 smp启动失败问题 ( #7760 )
2023-07-01 22:46:43 +08:00
flyingcys
c78f646891
[bsp]add cv1800b ( #7753 )
2023-06-30 00:05:55 +08:00
Shicheng Chu
e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h ( #7750 )
2023-06-29 11:24:25 -04:00
程蒙蒙
33f5de4411
[atomic][IAR]修复IAR编译报警 函数“__LDREX”隐式声明 ( #7733 )
2023-06-29 00:04:06 +08:00
wangqinglin
d6f6ae56fd
修复gicv2默认邦核失败 ( #7723 )
2023-06-26 21:30:27 +08:00
wangqinglin
8335c5add2
更新gicv3中断亲和性设置,重构api: arm_gic_send_affinity_sgi, 增加AMP宏判断, rt_ioremap和宏RT_USING_SMART解耦
...
修改:中断安装默认绑定至当前核心, 修改rt_hw_interrupt_set_target_cpus函数,
2023-06-19 11:35:46 +08:00
wangqinglin
76d8416e72
修复aarch64-qemu启动失败问题 ( #7661 )
2023-06-12 19:49:18 +08:00
wangqinglin
0cb2a5e735
删除mmu.c对board.h的引用
2023-06-11 07:09:24 +08:00
wangqinglin
216d72ef1c
修改:启动过程和__start解耦,对于RT_AMP_SLAVE 跳过cpu 非0核等待
2023-06-11 07:09:24 +08:00
wangqinglin
09ea44a370
添加无设备树模式PSCI
2023-06-11 07:07:52 +08:00