18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __ASM_LINKAGE_H 38c2ecf20Sopenharmony_ci#define __ASM_LINKAGE_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage)) 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#else 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <asm/asmmacro.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#endif 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define cond_syscall(x) asm(".weak\t" #x "#\n" #x "#\t=\tsys_ni_syscall#") 168c2ecf20Sopenharmony_ci#define SYSCALL_ALIAS(alias, name) \ 178c2ecf20Sopenharmony_ci asm ( #alias "# = " #name "#\n\t.globl " #alias "#") 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#endif 20