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
wangqinglin
194a2efdf4
AMP-step3: 添加conifg ARCH_ARM_CORTEX_A55, rt_hw_cpu_id_set 适配A55架构, 添加aarch64 rt_… ( #7628 )
2023-06-11 07:06:16 +08:00
Liu,Yuan
1d8165851b
[risc-v][libcpu] 删去无用局部变量 ( #7634 )
2023-06-07 17:04:12 -04:00
zhkag
22972409d4
[simulator] 修复 linux simulator 编译运行失败
2023-06-07 08:52:28 -04:00
Wayne
ed4b4ca9e6
[libcpu] [cortex-a] Revert RT_SMP_AUTO_BOOT. ( #7549 )
...
Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2023-05-29 15:23:42 +08:00
Bernard Xiong
4b4c3c85f2
[atomic] add stdc atomic detection. ( #7536 )
2023-05-20 23:41:29 +08:00
huanghe
9217865c6a
[libcpu] fix arm/cortex-a/start_gcc.S ( #7515 )
2023-05-19 11:32:58 +08:00
guozhanxin
82ccbc40db
support llvm-arm 16.0
2023-05-17 12:09:10 -04:00
Shell
b7554a70d2
[libcpu][component][debug] add debug info for gdb ( #7033 )
2023-05-14 23:48:16 +08:00
huanghe
50a4e8c662
[bsp][phytium]适配rt-thread5.0.0 版本 ( #7441 )
...
Co-authored-by: 朱耿宇 <zhugengyu@phytium.com.cn>
2023-05-11 10:25:21 +08:00
nobody
8d526a72b4
[libcpu] 删除多余的RT_ASSERT判断条件
...
RT_TICK_PER_SECOND 会在Kconfig里有范围约束
2023-04-29 12:42:35 -04:00
WuxiaBai
4eeca5049e
[HUST CSE][libcpu][s3c44b0]Same expression on both sides of '|'
2023-04-28 17:58:59 -04:00
勇
4b2a44f39e
修复 atomic_arm.c 多次指定类型限定符问题 ( #7393 )
2023-04-27 07:09:38 +08:00
Shell
6e7c5d9bc9
[libcpu/aarch64] fix cache invalidate operation ( #7363 )
2023-04-26 17:17:42 +08:00
wangqinglin
fbc1d6f4fd
[fix]:修复GICv2、GICv3中断触发模式设置无效的问题 ( #7358 )
2023-04-24 17:06:31 +08:00
wangqinglin
ac07f40670
优化设置中断模式api ( #7359 )
2023-04-24 14:16:21 +08:00
flyingcys
cbedb6b40b
[libcpu/risc-v/c906] add ioremap && default param ( #7345 )
2023-04-24 09:21:15 +08:00
Shell
470454d201
[components/mm] support for scalable memory management ( #7277 )
...
* [mm/page] multi-list page manager
[mm/page] page debugger
[libcpu/aarch64] hugepage support
* [quality] remove void-arith
* [format] remove kasan codes
2023-04-22 23:59:11 +08:00
zb1tree
a25d3fd301
fix:fixed variable misuse
2023-04-17 23:45:10 -04:00
7YZ7
9e680e9f86
[bsp][ls1c] fix a misoperation
...
attach #7291
2023-04-17 22:59:31 -04:00
7YZ7
501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code
2023-04-17 22:26:23 -04:00
d1zzy126
5c1b071a0c
[HUST][CSE]mips/common/exception.c/rt_set_except_vector ( #7238 )
...
* mips/common/exception.c/rt_set_except_vector
* Update exception.c
---------
Co-authored-by: Bernard Xiong <bernard.xiong@gmail.com>
2023-04-14 14:06:43 +08:00
codlearner
590e603997
逻辑错误
2023-04-13 10:00:23 +08:00
Shicheng Chu
93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object ( #7131 )
2023-04-04 09:06:27 -04:00
Shell
897ba365ba
[fix] compilation error from rpi ( #7143 )
...
* [fix] compile error from rpi
2023-03-31 20:58:01 +08:00
xqyjlj
157dc0959c
✨ feat(components): add uname support
2023-03-31 10:56:37 +08:00
Wayne
3309ef6001
[libcpu/arm/cortex-a] Revert safety MMU initialization. ( #6796 )
...
* Revert safety MMU initialization.
Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2023-03-31 10:06:28 +08:00
Yaochenger
38eb3fc40f
[utest][atomic]添加返回值测试 ( #7124 )
...
* [utest][atomic]添加返回值测试
2023-03-30 11:06:21 +08:00
Shell
eec78d9f5d
[rt-smart] testcase & improvements for memory management ( #7099 )
...
* [utest/mm] add testcase for create/init
format codes of create/init in components/mm
* [libcpu/aarch64] fix user stack check routine
* [kservice] export API for utest
* [utest/mm] testcase for aspace_map
format & modify the files under components/mm related with aspace_map
* [lwp/user_mm] add user_map_varea for mmap feature
* [mm] rename rt_mm_fault_try_fix to rt_aspace_fault_try_fix
* [utest/mm] testcase for synchronization
* [mm] modify unmap api to improve throughput
* [utest/mm] testcases for cache and varea map
* [format] remove extra space
* [utest/mm] fix testcase problem in header
* [lwp] extend map_user_varea with a flag
* [utest/mm] testcase for lwp_map_user_varea
* [libcpu/arm/cortex-a] fix kernel space layout
* [utest/mm] adjust for armv7 arch
2023-03-30 08:25:15 +08:00
flyingcys
0cf3bcf495
[bsp]fix esp32_c3 compile error ( #7107 )
...
* fix rt_hw_interrupt_install return value
* add __rt_rvstack
2023-03-29 19:01:26 +08:00
Yaochenger
de4f237482
[atomic]添加arm与risc-v下的常用原子操作函数 ( #7053 )
...
* Update Kconfig
* Update trap_gcc.S
* Update bsp/hifive1/drivers/SConscript
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
* Update SConscript
* [atomic]提交一份arm与risc-v架构下的常用原子操作函数
* 修改变量类型
* 更新rtatomic.h与atomic_port.c
* 更新rt-thread\libcpu\arm\common\atomic_port.c
* 更新include/rtatomic.h与libcpu/arm/common/SConscript
* 更新include/rtatomic.h
* 修正格式与Kconfig
* 修正格式与文件结构
* 规范文件格式与文件重命名
* 添加测试用例与CI
* 添加函数声明
* 修改virt64/SConscript 添加atomic_riscv.c
* 1.规范代码风格
* 2.添加RISC-V64原子指令支持 解决在RV64下编译器将32-bit运算结果扩展为64-bit 导致判断错误
* 添加C11标准库原子操作测试
---------
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 20:06:50 +08:00
Zxy
4ed9bc11f7
[errno code]fix that use RT_ENOSYS without - ( #7084 )
...
* [errno code]fix that use RT_ENOSYS without -
* Update bsp/airm2m/air32f103/libraries/rt_drivers/drv_hwtimer.c
---------
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 01:54:42 -04:00
flyingcys
a538b26858
[bsp] add bl808 lp core ( #7069 )
...
* Add riscv_32e support
* add bl808 lp core
* update README.md
2023-03-19 23:16:12 +08:00
flyingcys
c11f5bb251
add bl60x/bl70x/bl61x/bl808 ( #7063 )
...
Co-authored-by: flyingcys <flyingcys!163.com>
2023-03-19 14:41:18 +08:00
Shell
18a14cc935
[rt-smart] move sys_cacheflush to lwp_syscall.c ( #7048 )
...
* [syscall] move sys_cacheflush to lwp_syscall.c
* [syscall] improve assertion
* [format] rename to rt_ctassert
* [debug] modified ct assertion on mm_page.c
2023-03-17 15:11:38 +08:00
Shell
2394e75265
[libcpu/risc-v] support noncached normal memory ( #7051 )
...
* [libcpu/risc-v] support noncached normal memory
* [mm] check before dereference in _fetch_page
* [mm] add comments on ioremap
* [ioremap] report more info on failed
2023-03-16 10:26:55 +08:00
zilong
50e1f6327d
[libcpu/riscv/virt64] fix ( #5979 ) ( #7040 )
2023-03-11 12:34:14 +08:00
chenhy0106
f6847af0cd
[libcpu/riscv/c906] fix "next_asid" type error ( #7031 )
...
MAX_ASID最大为0x10000,在next_asid==MAX_ASID时进入下一个generation。因此next_asid不能只有16位,否则将不能进入下一个generation。修改rt_uint16_t为rt_uint32_t。
2023-03-09 07:25:54 -05:00
Yaochenger
cfc6bf9b12
[libcpu/risc-v]更新移植readme
2023-03-07 22:04:26 -05:00
Yaochenger
922e6e40d3
[libcpu/risc-v]迁移libcpu/risc-v/e310与rv32m1文件中内容至bsp ( #7015 )
2023-03-05 19:43:58 -05:00
Shell
0de21341f9
[fix] mm bugs ( #7010 )
...
* [fix] implementation fault on avl
* [fix] mm may free varea allocated statically
* [test] add test and benchmark for avl
2023-03-03 11:51:21 +08:00
Yaochenger
95540854a6
[libcpu/riscv]迁移libcpu/riscv/ch32中文件至bsp ( #7004 )
2023-03-02 09:17:43 -05:00
Yaochenger
fc2e122ee2
[libcpu/risc-v]迁移libcpu/risc-v/hpmicro中的文件至bsp
2023-03-02 09:16:59 -05:00
Yaochenger
6aa2445522
[libcpu/risc-v]移除bumblebee文件夹与nuclei文件夹中的内容至bsp
2023-03-02 09:16:12 -05:00
Yaochenger
892ef3dc5b
[libcpu/risc-v]将cv32e40p文件夹中文件移至BSP ( #7002 )
2023-03-01 21:34:35 -05:00
Yaochenger
b9e4fcfc68
[libcpu][riscv]整合libcpu/riscv中的移植文件 提供一份公共代码于common ( #6941 )
...
整合libcpu/riscv中的移植文件 提供一份公共代码于common
在提交本pr时,除hpmicro的内核,rv32内核bsp已完成去除大部分的冗余,大部分代码采用common中的实现。本pr的作用是进一步统一common中的文件,从而提供一份公用代码,新移植的RV32内核的BSP可以全部使用common代码。
- 在common中提供一份公用文件:interrupt_gcc.S
- 修改原有的文件,将原有的中断中上下文切换代码替换为interrupt_gcc.S
- 基于上述修改,修改仓库中risc-v内核的BSP与移植相关的部分 (主要包含中断入口函数 中断栈等)
- 在common中提供一份公用文件:trap_common.c;提供统一中断入口函数,中断入口函数初始化,中断入口注册等函数,并完善异常时的信息输出
- 在common中提供一份公用文件:rt_hw_stack_frame.h;将栈帧结构体剥离,供用户使用
- 在上述工作完成后,在上述工作的基础上测试仓库中risc-v内核的BSP
- 完善函数中的命名,完善中断栈的获取
- 提供一份详细的基于现有common文件的移植指南
#### 在什么测试环境下测试通过
- 1.CH32V307V-R1-R0
- 2.CH32V208W-R0-1V4
- 3.HPM6750EVKMINI
- 4.GD32VF103V-EVAL
- 5.qemu(CORE-V-MCU )
> 与上述开发板使用同样芯片的BSP均测试通过
在CH32V307V-R1-R0与HPM6750EVKMINI上基于现有移植文件进行多线程复杂场景下的长时间测试,测试过程系统运行正常。
2023-03-01 01:32:43 -05:00
Bernard Xiong
f295d3df78
[libcpu.aarch64] add rt_backtrace function. ( #6982 )
...
* [libcpu.aarch64] add rt_backtrace function.
2023-02-27 10:04:10 +08:00
wangxiaoyao
12f0df9279
[libcpu/aarch64] stop when no page is free
2023-02-25 20:05:59 +08:00
Shell
382e9bcac7
[rt-smart] handling kernel from accessing unmapped user stack ( #6957 )
...
[rt-smart] handling kernel from accessing unmapped user stack
2023-02-24 14:52:16 +08:00
wangxiaoyao
1c2daeafdc
[fix] typo
2023-02-21 08:48:49 +08:00
wangxiaoyao
26891e9117
[fix] pipeline
2023-02-21 08:48:49 +08:00
wangxiaoyao
484a0d602e
[fixup] add cache maintenance ops;
...
fix bugs on cache maintenance when starting user app
2023-02-21 08:48:49 +08:00