1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __ASM_LINKAGE_H 3*4882a593Smuzhiyun #define __ASM_LINKAGE_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage)) 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #else 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <asm/asmmacro.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #endif 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define cond_syscall(x) asm(".weak\t" #x "#\n" #x "#\t=\tsys_ni_syscall#") 16*4882a593Smuzhiyun #define SYSCALL_ALIAS(alias, name) \ 17*4882a593Smuzhiyun asm ( #alias "# = " #name "#\n\t.globl " #alias "#") 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #endif 20