rt-thread-official/src
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
..
klibc [klibc] add kerrno.h 2024-09-23 21:30:37 +08:00
Kconfig feat: remove RT_USING_SCHED_THREAD_CTX 2024-10-19 15:19:41 -04:00
SConscript add cpu up 2024-04-19 21:30:12 -04:00
clock.c [src][clock] RT_TICK_PER_SECOND为1000时tick不用进行转换 2024-10-29 18:19:18 -04:00
components.c 分离defunct 2024-10-21 13:05:08 +08:00
cpu_mp.c [libcpu/arm64] add C11 atomic ticket spinlock (#8882) 2024-05-16 15:45:12 +08:00
cpu_up.c [arm64] add hw thread self (#8942) 2024-05-28 14:27:55 +08:00
defunct.c 去除多余空格 2024-10-21 13:05:08 +08:00
idle.c 解决编译错误 2024-10-21 13:05:08 +08:00
ipc.c [kernel][mutex] fix bug of thread exit without releasing mutex & add error check log 2024-09-11 18:03:43 -04:00
irq.c feat: Added rt_interrupt_context* family for nested interrupt handling 2024-11-03 10:08:45 +08:00
kservice.c feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04:00
mem.c feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04:00
memheap.c feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04:00
mempool.c 🎯 Sync smart & scheduler codes (#8537) 2024-02-23 17:49:15 +08:00
object.c [fix][device] 修正使用rt_device_create创建设备,使用rt_device_destroy删除失败的问题 2024-09-03 18:24:45 -04:00
scheduler_comm.c feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04:00
scheduler_mp.c feat: arm64: update thread self on sp-switch 2024-10-11 00:09:01 -04:00
scheduler_up.c [kernel] Specification interrupt nested level variable declaration type (#9568) 2024-10-23 17:08:29 -04:00
signal.c [src][signal]:fix issue with inconsistency between sig_mask and sigaddset implementations when using musl libc 2024-10-22 20:59:05 +08:00
slab.c feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04:00
thread.c [kernel][mutex] fix bug of thread exit without releasing mutex & add error check log 2024-09-11 18:03:43 -04:00
timer.c [timer]add all soft timer config (#9048) 2024-06-20 04:20:38 +08:00