31739c7d66a94930868ed1037bed18df47d3c1e1
[linux-2.6.git] / include / asm-x86 / linkage.h
1 #ifndef __ASM_LINKAGE_H
2 #define __ASM_LINKAGE_H
3
4 #ifdef CONFIG_X86_64
5 #define __ALIGN .p2align 4,,15
6 #define __ALIGN_STR ".p2align 4,,15"
7 #endif
8
9 #ifdef CONFIG_X86_32
10 #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
11 #define prevent_tail_call(ret) __asm__ ("" : "=r" (ret) : "0" (ret))
12 /*
13  * For 32-bit UML - mark functions implemented in assembly that use
14  * regparm input parameters:
15  */
16 #define asmregparm __attribute__((regparm(3)))
17 #endif
18
19 #ifdef CONFIG_X86_ALIGNMENT_16
20 #define __ALIGN .align 16,0x90
21 #define __ALIGN_STR ".align 16,0x90"
22 #endif
23
24 #endif
25