1 #ifndef _ASM_X86_ALTERNATIVE_ASM_H 2 #define _ASM_X86_ALTERNATIVE_ASM_H 3 4 #ifdef __ASSEMBLY__ 5 6 #include <asm/asm.h> 7 8 #ifdef CONFIG_SMP 9 .macro LOCK_PREFIX 10 672: lock 11 .pushsection .smp_locks,"a" 12 .balign 4 13 .long 672b - . 14 .popsection 15 .endm 16 #else 17 .macro LOCK_PREFIX 18 .endm 19 #endif 20 21 .macro altinstruction_entry orig alt feature orig_len alt_len 22 .long \orig - . 23 .long \alt - . 24 .word \feature 25 .byte \orig_len 26 .byte \alt_len 27 .endm 28 29 #endif /* __ASSEMBLY__ */ 30 31 #endif /* _ASM_X86_ALTERNATIVE_ASM_H */ 32