162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __ASM_LINKAGE_H
362306a36Sopenharmony_ci#define __ASM_LINKAGE_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#define __ALIGN		.align 2
662306a36Sopenharmony_ci#define __ALIGN_STR	__stringify(__ALIGN)
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#define SYM_FUNC_START(name)				\
962306a36Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)	\
1062306a36Sopenharmony_ci	.cfi_startproc;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define SYM_FUNC_START_NOALIGN(name)			\
1362306a36Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)	\
1462306a36Sopenharmony_ci	.cfi_startproc;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define SYM_FUNC_START_LOCAL(name)			\
1762306a36Sopenharmony_ci	SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)	\
1862306a36Sopenharmony_ci	.cfi_startproc;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define SYM_FUNC_START_LOCAL_NOALIGN(name)		\
2162306a36Sopenharmony_ci	SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)	\
2262306a36Sopenharmony_ci	.cfi_startproc;
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#define SYM_FUNC_START_WEAK(name)			\
2562306a36Sopenharmony_ci	SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN)	\
2662306a36Sopenharmony_ci	.cfi_startproc;
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#define SYM_FUNC_START_WEAK_NOALIGN(name)		\
2962306a36Sopenharmony_ci	SYM_START(name, SYM_L_WEAK, SYM_A_NONE)		\
3062306a36Sopenharmony_ci	.cfi_startproc;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#define SYM_FUNC_END(name)				\
3362306a36Sopenharmony_ci	.cfi_endproc;					\
3462306a36Sopenharmony_ci	SYM_END(name, SYM_T_FUNC)
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci#define SYM_CODE_START(name)				\
3762306a36Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)	\
3862306a36Sopenharmony_ci	.cfi_startproc;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci#define SYM_CODE_END(name)				\
4162306a36Sopenharmony_ci	.cfi_endproc;					\
4262306a36Sopenharmony_ci	SYM_END(name, SYM_T_NONE)
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci#endif
45