123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /*
- * Copyright (c) 2006-2023 RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2023-03-12 WangXiaoyao the first version
- */
- #ifndef __ASM_GENERIC_H__
- #define __ASM_GENERIC_H__
- /* use to mark a start point where every task start from */
- #define START_POINT(funcname) \
- .global funcname; \
- .type funcname, %function; \
- funcname: \
- .cfi_sections .debug_frame, .eh_frame; \
- .cfi_startproc; \
- .cfi_undefined x30
- #define START_POINT_END(name) \
- .cfi_endproc; \
- .size name, .-name;
- #define TRACE_SYMBOL(name)
- .macro NEVER_RETURN
- #ifdef RT_USING_DEBUG
- b .
- #endif /* RT_USING_DEBUG */
- .endm
- .macro GET_THREAD_SELF, dst:req
- #ifdef ARCH_USING_HW_THREAD_SELF
- mrs x0, tpidr_el1
- #else /* !ARCH_USING_HW_THREAD_SELF */
- bl rt_thread_self
- #endif /* ARCH_USING_HW_THREAD_SELF */
- .if \dst != x0
- mov dst, x0
- .endif
- .endm
- #endif /* __ASM_GENERIC_H__ */
|