162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_POWERPC_LINKAGE_H
362306a36Sopenharmony_ci#define _ASM_POWERPC_LINKAGE_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <asm/types.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#define __ALIGN		.align 2
862306a36Sopenharmony_ci#define __ALIGN_STR	".align 2"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifdef CONFIG_PPC64_ELF_ABI_V1
1162306a36Sopenharmony_ci#define cond_syscall(x) \
1262306a36Sopenharmony_ci	asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n"		\
1362306a36Sopenharmony_ci	     "\t.weak ." #x "\n\t.set ." #x ", .sys_ni_syscall\n")
1462306a36Sopenharmony_ci#define SYSCALL_ALIAS(alias, name)					\
1562306a36Sopenharmony_ci	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n"	\
1662306a36Sopenharmony_ci	     "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
1762306a36Sopenharmony_ci#endif
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#endif	/* _ASM_POWERPC_LINKAGE_H */
20