LoongArch: Add other common headers
[platform/kernel/linux-starfive.git] / arch / loongarch / include / asm / linkage.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_LINKAGE_H
3 #define __ASM_LINKAGE_H
4
5 #define __ALIGN         .align 2
6 #define __ALIGN_STR     __stringify(__ALIGN)
7
8 #define SYM_FUNC_START(name)                            \
9         SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)      \
10         .cfi_startproc;
11
12 #define SYM_FUNC_START_NOALIGN(name)                    \
13         SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)       \
14         .cfi_startproc;
15
16 #define SYM_FUNC_START_LOCAL(name)                      \
17         SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)       \
18         .cfi_startproc;
19
20 #define SYM_FUNC_START_LOCAL_NOALIGN(name)              \
21         SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)        \
22         .cfi_startproc;
23
24 #define SYM_FUNC_START_WEAK(name)                       \
25         SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN)        \
26         .cfi_startproc;
27
28 #define SYM_FUNC_START_WEAK_NOALIGN(name)               \
29         SYM_START(name, SYM_L_WEAK, SYM_A_NONE)         \
30         .cfi_startproc;
31
32 #define SYM_FUNC_END(name)                              \
33         .cfi_endproc;                                   \
34         SYM_END(name, SYM_T_FUNC)
35
36 #endif