diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:00 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:00 -0500 |
commit | d50efc6c40620b2e11648cac64ebf4a824e40382 (patch) | |
tree | daf951117c86f2d4875216eee9e708a0c01c9e4b /include/asm-x86/linkage.h | |
parent | 3a556b26a2718e48aa2b6ce06ea4875ddcd0778e (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.h | 5 |
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 |