Commit Graph

16577 Commits

Author SHA1 Message Date
Shell 285fee9d4c feat: rtatomic: lockless single linked list
Signed-off-by: Shell <smokewood@qq.com>
2024-11-03 10:08:45 +08:00
Shell 40cd8cce99 feat: Added rt_interrupt_context* family for nested interrupt handling
These changes introduce the rt_interrupt_context family, providing a
mechanism for managing nested interrupts. The context management
ensures proper storage and retrieval of interrupt states, improving
reliability in nested interrupt scenarios by enabling context tracking
across different interrupt levels. This enhancement is essential for
platforms where nested interrupt handling is crucial, such as in real-
time or multi-threaded applications.

Changes:
- Defined rt_interrupt_context structure with context and node fields
  in `rtdef.h` to support nested interrupts.
- Added rt_slist_pop function in `rtservice.h` for simplified node
  removal in singly linked lists.
- Declared rt_interrupt_context_push, rt_interrupt_context_pop, and
  rt_interrupt_context_get functions in `rtthread.h` to manage the
  interrupt/exception stack.
- Modified AArch64 CPU support in `cpuport.h` to include
  rt_hw_show_register for debugging registers.
- Refactored `_rt_hw_trap_irq` in `trap.c` for context-aware IRQ
  handling, with stack push/pop logic to handle nested contexts.
- Implemented interrupt context push, pop, and retrieval logic in
  `irq.c` to manage context at the CPU level.

Signed-off-by: Shell <smokewood@qq.com>
2024-11-03 10:08:45 +08:00
zhangjianwu 3a696ebc67 [BSP][GD32]add gd32e503v-eval 2024-11-02 18:38:27 -04:00
Kai 7bf8589fad
[libcpu][cortex-m7] use hw atomic 2024-11-01 18:45:00 -04:00
rcitachi 7c27319521
[libc] modify function names to resolve naming conflicts 2024-11-01 18:44:16 -04:00
andeyqi 2552759e96
[BSP][FRDM-MCX-C444] Adapter IAR 9.60 project 2024-10-31 19:22:03 -04:00
XYX12306 09bb0764be [bsp][renesas] initial commit for ra6e2-fpb 2024-10-30 23:47:38 +08:00
ryancw 91fe5ec1b8 [src][clock] RT_TICK_PER_SECOND为1000时tick不用进行转换 2024-10-29 18:19:18 -04:00
Kai 91eca8d573 [bsp][hc32] 修复SPI驱动的片选脚获取方式 2024-10-28 00:30:35 -04:00
Tian Xufeng e83b8fd820 [bsp][raspberry-pico] 修复rtconfig.h SPI1部分引脚错误问题 2024-10-27 14:53:40 +08:00
Li-Dongze 948c8a4901
[BSP]添加nrf52840的.ci文件,修复因rt_hw_pin_init引起的finsh警告,修复rtc编译报错 (#9583)
添加nrf52840的.ci文件,修复因rt_hw_pin_init引起的finsh警告,修复rtc编译报错
2024-10-26 14:59:30 +08:00
KunYi Chen 6b7f1177de fix: suppress unused warnings when DEBUG disabled
When RT_USING_DEBUG is disabled, variables used only in RT_ASSERT
statements become unused, triggering -Wunused-but-set-variable compiler
warnings. These variables are essential for runtime assertions in debug
builds but appear unused in release builds.

Example:
- Variables used in RT_ASSERT(var != RT_NULL) checks
- Affects multiple drivers and components using RT_ASSERT

This is a general cleanup to improve code compilation without affecting
functionality.
2024-10-25 22:22:09 -04:00
Supper Thomas ee1490736c
[doc] Update PULL_REQUEST_TEMPLATE.md
添加PR部分CI提醒
2024-10-25 17:48:13 -04:00
Kai 5e34298f99 add missing extern "C" in header to support cpp 2024-10-24 20:22:48 +08:00
Yuqiang Wang b3d59050b0
[kernel] Specification interrupt nested level variable declaration type (#9568) 2024-10-23 17:08:29 -04:00
hydevcode 40124ca12b [action] add nrf5340 ci config 2024-10-23 17:07:39 -04:00
zhangjing fed7c9acda [src][signal]:fix issue with inconsistency between sig_mask and sigaddset implementations when using musl libc 2024-10-22 20:59:05 +08:00
Shell cfe1768815 fixup: smart: sys_mount: UAF vulnerability
This patch addresses a use-after-free (UAF) vulnerability in the
sys_mount. The issue occurred due to improper handling of memory
deallocation, which could lead to crashes or undefined behavior on user
request of mounting.

Changes made:
- Moved the `rt_free(copy_source)` function call to occur after the necessary
  operations are completed, preventing premature deallocation of memory.

Signed-off-by: Shell <smokewood@qq.com>
2024-10-21 17:15:52 +08:00
CYFS fabee02c38
[ci][rsoc]fix fm33lc026 yc3121-pos build issue (#9564)
* [ci]fix fm33lc026 yc3121-pos build issue

* [ci]rm airm2m/air105
2024-10-21 15:15:05 +08:00
heyuanjie87 b14a14057c 解决编译错误 2024-10-21 13:05:08 +08:00
heyuanjie87 08888b6e23 去除多余空格 2024-10-21 13:05:08 +08:00
heyuanjie87 063e6e7c0c 解决编译警告 2024-10-21 13:05:08 +08:00
heyuanjie87 1045bcb9df 给使用独立的defunct线程添加限制条件 2024-10-21 13:05:08 +08:00
heyuanjie87 2351981e83 分离defunct 2024-10-21 13:05:08 +08:00
heyuanjie87 e2b311c3b5 [kernel]在smart模式也启用"回收线程"
lwp的某些资源回收放到了后台,其中会引起线程挂起,而idle不应该被挂起
2024-10-21 13:05:08 +08:00
CYFS fc6f3c0403 [bsp][fm33lc026]fix path issue 2024-10-20 12:18:28 -04:00
CYFS 7e123fb187 [bsp][fm33lc026]add link 2024-10-20 12:18:28 -04:00
CYFS 45812e43a6 [bsp][yichip]fix bug 2024-10-20 12:18:28 -04:00
Shell 81181e101f feat: bsp: fit into the new thread context 2024-10-19 15:19:41 -04:00
Shell 645b3c6015 feat: remove RT_USING_SCHED_THREAD_CTX
Prepare for the next release by removing the compatible codes for v5.1.0
and before.

Changes:

- Remove the compatible macros and Kconfig options for the old struct
  rt_thread layout.

Signed-off-by: Shell <smokewood@qq.com>
2024-10-19 15:19:41 -04:00
CYFS 76adf376db
[bsp][stm32][rsoc]串口超时判断逻辑有问题
[bsp][stm32]fix uart bug
2024-10-19 12:24:42 -04:00
sakumisu 4c206caf8b
update(cherryusb): update to v1.4.1 2024-10-19 12:23:21 -04:00
CYFS e47f478e12
[bsp][rsoc]Fix compilation issues with bsp of hc32l136 2024-10-19 12:23:07 -04:00
Supper Thomas ab964e1e5a [action] fix the fail action 2024-10-19 19:20:03 +08:00
heyuanjie87 49b6614763
[libcpu]添加对riscv vector的支持 (#9531)
[libcpu]添加对riscv vector的支持
2024-10-16 14:10:09 +08:00
Meco Man 47d941388b [bsp][stm32] fix variable init
fix https://github.com/RT-Thread/rt-thread/pull/9525
2024-10-14 22:12:21 -04:00
LZerro 8c1cd39d80
[bsp][Infineon]add drv_eth (#9527)
[bsp][Infineon]add xmc7200 eth driver #9527

---------

Co-authored-by: LZerro <lizhenhong@rt-thread.com>
2024-10-14 11:30:00 +08:00
Diamond Rivero 5010c17539 move `GPIO_InitStruct` variable inside to `PIN_IRQ_ENABLE`. thanks to @mysterywolf 2024-10-12 22:34:42 +08:00
Diamond Rivero df36d1806c call `HAL_GPIO_Init()` by default 2024-10-12 22:34:42 +08:00
Yuqiang Wang 6b0671b336
[bsp][ci] fix BSPs compilation errors
1.RT_TIMER_TICK_PER_SECOND替换为RT_TICK_PER_SECOND
2.nxp lpc、imx、mcx系列bsp修复
3.lpc824支持gcc
4.lpc824、lpc1114 bsp默认使用nano版本
5.nxp scons --dist问题修复
6.rt-spark lvgl latest 编译修复
2024-10-11 18:32:58 -04:00
Supper Thomas 15a14500c7 [doc]Update README.md
图标太大了,改小一些
2024-10-11 21:40:40 +08:00
zhangjing0303 523b123995
[libcpu][risc-v] fix the bug when using ASID in the RV64 MMU
* (fix) mmu: satp value should be 64-bit
Corrected the SATP register to ensure it uses the correct 64-bit format as required by the system architecture.

* use __asm__ instead of asm for the GNU C compiler

Co-authored-by: Shell <smokewood@qq.com>

---------

Co-authored-by: Shell <smokewood@qq.com>
2024-10-11 00:10:46 -04:00
zms123456 9a010bb71b
[components][sal]add netdev ifindex feature 2024-10-11 00:10:21 -04:00
zms123456 344ea87347
[components][smp]remove redundant memset & unlock in smp 2024-10-11 00:09:28 -04:00
Shell 5796e0d646 feat: arm64: update thread self on sp-switch
This patch improves the atomicity of context switching by ensuring that
the stack pointer (sp) and thread self updates occur simultaneously.
This enhancement is crucial for maintaining thread safety and
preventing potential inconsistencies during context switches.

Changes:
- Modified `cpuport.h` to use `ARM64_THREAD_REG` for thread self access.
- Added an `update_tidr` macro in `context_gcc.S` to streamline thread ID
  updates.
- Adjusted `rt_hw_context_switch_to` and `rt_hw_context_switch` to call
  `update_tidr`, ensuring atomic updates during context switches.
- Cleaned up `scheduler_mp.c` by removing redundant thread self
  assignments.

Signed-off-by: Shell <smokewood@qq.com>
2024-10-11 00:09:01 -04:00
zms123456 906d1caea6
[component][sal]add netgetdev api 2024-10-10 22:40:24 -04:00
yangpeng c9a1245977 [components][dfs][dfs_v1]cat输出实际读取的长度 2024-10-10 17:44:32 -04:00
Yuqiang Wang 9b31631df1
[drivers][spi] Fixed an issue that caused spi bus deadlock in the spi configuration 2024-10-09 21:32:17 -04:00
zhangjing0303 65234401f3
[libcpu][risc-v]remove the redundant "0x" from the printed information when cpu is in exception (#9516)
Remove redundant '0x' from printed output
2024-10-09 15:46:39 +08:00
wumingzi a0415846db
[bsp][ESP32][esp32c3] add spi driver 2024-10-08 18:34:24 -04:00