aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/linkage.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/linkage.h')
-rw-r--r--include/linux/linkage.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
new file mode 100644
index 000000000000..338f7795d8a0
--- /dev/null
+++ b/include/linux/linkage.h
@@ -0,0 +1,47 @@
1#ifndef _LINUX_LINKAGE_H
2#define _LINUX_LINKAGE_H
3
4#include <linux/config.h>
5#include <asm/linkage.h>
6
7#ifdef __cplusplus
8#define CPP_ASMLINKAGE extern "C"
9#else
10#define CPP_ASMLINKAGE
11#endif
12
13#ifndef asmlinkage
14#define asmlinkage CPP_ASMLINKAGE
15#endif
16
17#ifndef prevent_tail_call
18# define prevent_tail_call(ret) do { } while (0)
19#endif
20
21#ifndef __ALIGN
22#define __ALIGN .align 4,0x90
23#define __ALIGN_STR ".align 4,0x90"
24#endif
25
26#ifdef __ASSEMBLY__
27
28#define ALIGN __ALIGN
29#define ALIGN_STR __ALIGN_STR
30
31#define ENTRY(name) \
32 .globl name; \
33 ALIGN; \
34 name:
35
36#endif
37
38#define NORET_TYPE /**/
39#define ATTRIB_NORET __attribute__((noreturn))
40#define NORET_AND noreturn,
41
42#ifndef FASTCALL
43#define FASTCALL(x) x
44#define fastcall
45#endif
46
47#endif