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