blob: 31739c7d66a94930868ed1037bed18df47d3c1e1 [file] [log] [blame]
Harvey Harrison82f74e72008-01-30 13:31:07 +01001#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"
Thomas Gleixner96a388d2007-10-11 11:20:03 +02007#endif
Harvey Harrison82f74e72008-01-30 13:31:07 +01008
9#ifdef CONFIG_X86_32
10#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
11#define prevent_tail_call(ret) __asm__ ("" : "=r" (ret) : "0" (ret))
Ingo Molnard50efc62008-01-30 13:33:00 +010012/*
13 * For 32-bit UML - mark functions implemented in assembly that use
14 * regparm input parameters:
15 */
16#define asmregparm __attribute__((regparm(3)))
Harvey Harrison82f74e72008-01-30 13:31:07 +010017#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