diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2006-09-26 10:52:39 +0200 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 10:52:39 +0200 |
commit | 0da5db313317e3195482d3e660a1074857374a89 (patch) | |
tree | 9322a8eb60da97ae5f3a199cec13afd9b34c202d /include/asm-i386 | |
parent | 7b0bda74f7e77f362eaeee837e7911238acf4c76 (diff) | |
download | op-kernel-dev-0da5db313317e3195482d3e660a1074857374a89.zip op-kernel-dev-0da5db313317e3195482d3e660a1074857374a89.tar.gz |
[PATCH] i386: Abstract sensitive instructions
Abstract sensitive instructions in assembler code, replacing them with macros
(which currently are #defined to the native versions). We use long names:
assembler is case-insensitive, so if something goes wrong and macros do not
expand, it would assemble anyway.
Resulting object files are exactly the same as before.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/asm-i386')
-rw-r--r-- | include/asm-i386/spinlock.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-i386/spinlock.h b/include/asm-i386/spinlock.h index 3243293..b0b3043 100644 --- a/include/asm-i386/spinlock.h +++ b/include/asm-i386/spinlock.h @@ -7,6 +7,9 @@ #include <asm/processor.h> #include <linux/compiler.h> +#define CLI_STRING "cli" +#define STI_STRING "sti" + /* * Your basic SMP spinlocks, allowing only a single CPU anywhere * @@ -55,12 +58,12 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long fla "2:\t" "testl $0x200, %1\n\t" "jz 4f\n\t" - "sti\n" + STI_STRING "\n" "3:\t" "rep;nop\n\t" "cmpb $0, %0\n\t" "jle 3b\n\t" - "cli\n\t" + CLI_STRING "\n\t" "jmp 1b\n" "4:\t" "rep;nop\n\t" |