asmlinkage在内核文件中有5处定义,分别为:
1、arch/ia64/include/asm/Linkage.h:
#define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))
2、arch/x86/include/asm/Linkage.h:
#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
3、include/linux/Linkage.h:
#ifndef asmlinkage
#define asmlinkage CPP_ASMLINKAGE
#endif
4、arch/mn103000/include/asm/Linkage.h:
#define asmlinkage
5、tools/perf/Perf.h:
#define asmlinkage
CPP_ASMLINKAGE在include/linux/Linkage.h中定义:
#ifdef __cplusplus
#define CPP_ASMLINKAGE extern "C"
#else
#define CPP_ASMLINKAGE
#endif
CP