aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/linkage.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 07:33:00 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:00 -0500
commitd50efc6c40620b2e11648cac64ebf4a824e40382 (patch)
treedaf951117c86f2d4875216eee9e708a0c01c9e4b /include/asm-x86/linkage.h
parent3a556b26a2718e48aa2b6ce06ea4875ddcd0778e (diff)
x86: fix UML and -regparm=3
introduce the "asmregparm" calling convention: for functions implemented in assembly with a fixed regparm input parameters calling convention. mark the semaphore and rwsem slowpath functions with that. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/linkage.h')
-rw-r--r--include/asm-x86/linkage.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-x86/linkage.h b/include/asm-x86/linkage.h
index 5a4c95905420..31739c7d66a9 100644
--- a/include/asm-x86/linkage.h
+++ b/include/asm-x86/linkage.h
@@ -9,6 +9,11 @@
9#ifdef CONFIG_X86_32 9#ifdef CONFIG_X86_32
10#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) 10#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
11#define prevent_tail_call(ret) __asm__ ("" : "=r" (ret) : "0" (ret)) 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)))
12#endif 17#endif
13 18
14#ifdef CONFIG_X86_ALIGNMENT_16 19#ifdef CONFIG_X86_ALIGNMENT_16