diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2008-01-30 13:31:07 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:31:07 +0100 |
commit | 82f74e7159749cc511ebf5954a7b9ea6ad634949 (patch) | |
tree | 38429c6ca32d10449f536c0105843c1a1183103e /include/asm-x86/linkage.h | |
parent | x86: integrate 32-bit and 64-bit code in msr.h (diff) | |
download | linux-82f74e7159749cc511ebf5954a7b9ea6ad634949.tar.xz linux-82f74e7159749cc511ebf5954a7b9ea6ad634949.zip |
x86: unify include/asm-x86/linkage_[32|64].h
Remove definitions of FASTCALL/fastcall from linkage_32 as compiled with
-regparm=3 by default since 2.6.20 and should no longer be needed.
CONFIG X86_64 and CONFIG_X86_ALIGNMENT_16 are mutually exclusive as found
in Kconfig.cpu so it should be fine to test them separately.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/linkage.h')
-rw-r--r-- | include/asm-x86/linkage.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/include/asm-x86/linkage.h b/include/asm-x86/linkage.h index 94b257fa8701..5a4c95905420 100644 --- a/include/asm-x86/linkage.h +++ b/include/asm-x86/linkage.h @@ -1,5 +1,20 @@ +#ifndef __ASM_LINKAGE_H +#define __ASM_LINKAGE_H + +#ifdef CONFIG_X86_64 +#define __ALIGN .p2align 4,,15 +#define __ALIGN_STR ".p2align 4,,15" +#endif + #ifdef CONFIG_X86_32 -# include "linkage_32.h" -#else -# include "linkage_64.h" +#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) +#define prevent_tail_call(ret) __asm__ ("" : "=r" (ret) : "0" (ret)) +#endif + +#ifdef CONFIG_X86_ALIGNMENT_16 +#define __ALIGN .align 16,0x90 +#define __ALIGN_STR ".align 16,0x90" +#endif + #endif + |