mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-19 12:53:30 +08:00
7138f340b2
This patch focuses on the ARM64 general context handling code. The modifications are aimed at enhancing performance by simplifying context save/restore operations. Changes include: - Adjusted stack alignment in `arch_set_thread_context` function. - Updated `lwp_gcc.S` to reset frame pointer and link register. - Refined `rt_hw_backtrace_frame_unwind` to handle user space address checks. - Added `GET_THREAD_SELF` macro in `asm-generic.h`. - Simplified context saving/restoring in `context_gcc.h` and related files. - Optimized `rt_hw_context_switch_interrupt` and related assembly routines. Signed-off-by: Shell <smokewood@qq.com>
30 lines
594 B
ArmAsm
30 lines
594 B
ArmAsm
/*
|
|
* Copyright (c) 2006-2024, RT-Thread Development Team
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Change Logs:
|
|
* Date Author Notes
|
|
* 2021-05-18 Jesven the first version
|
|
* 2023-06-24 Shell Support debug frame for user thread
|
|
*/
|
|
|
|
#ifndef __ASSEMBLY__
|
|
#define __ASSEMBLY__
|
|
#endif
|
|
|
|
#include "rtconfig.h"
|
|
#include "asm-generic.h"
|
|
#include "asm-fpu.h"
|
|
#include "armv8.h"
|
|
|
|
.section .text
|
|
|
|
START_POINT(_thread_start)
|
|
mov x0, x21
|
|
blr x19
|
|
mov x29, #0
|
|
blr x20
|
|
b . /* never here */
|
|
START_POINT_END(_thread_start)
|