aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/alternative-asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/alternative-asm.h')
-rw-r--r--arch/x86/include/asm/alternative-asm.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h
index 31b627b43a8e..8e4ea39e55d0 100644
--- a/arch/x86/include/asm/alternative-asm.h
+++ b/arch/x86/include/asm/alternative-asm.h
@@ -7,16 +7,24 @@
7#include <asm/asm.h> 7#include <asm/asm.h>
8 8
9#ifdef CONFIG_SMP 9#ifdef CONFIG_SMP
10 .macro LOCK_PREFIX 10.macro LOCK_PREFIX_HERE
11672: lock
12 .pushsection .smp_locks,"a" 11 .pushsection .smp_locks,"a"
13 .balign 4 12 .balign 4
14 .long 672b - . 13 .long 671f - . # offset
15 .popsection 14 .popsection
16 .endm 15671:
16.endm
17
18.macro LOCK_PREFIX insn:vararg
19 LOCK_PREFIX_HERE
20 lock \insn
21.endm
17#else 22#else
18 .macro LOCK_PREFIX 23.macro LOCK_PREFIX_HERE
19 .endm 24.endm
25
26.macro LOCK_PREFIX insn:vararg
27.endm
20#endif 28#endif
21 29
22/* 30/*