diff options
Diffstat (limited to 'arch/x86/include/asm/alternative-asm.h')
| -rw-r--r-- | arch/x86/include/asm/alternative-asm.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h index b97f786a48d..372231c22a4 100644 --- a/arch/x86/include/asm/alternative-asm.h +++ b/arch/x86/include/asm/alternative-asm.h @@ -1,18 +1,31 @@ +#ifndef _ASM_X86_ALTERNATIVE_ASM_H +#define _ASM_X86_ALTERNATIVE_ASM_H + #ifdef __ASSEMBLY__ #include <asm/asm.h> #ifdef CONFIG_SMP .macro LOCK_PREFIX -1: lock - .section .smp_locks,"a" - _ASM_ALIGN - _ASM_PTR 1b - .previous +672: lock + .pushsection .smp_locks,"a" + .balign 4 + .long 672b - . + .popsection .endm #else .macro LOCK_PREFIX .endm #endif +.macro altinstruction_entry orig alt feature orig_len alt_len + .long \orig - . + .long \alt - . + .word \feature + .byte \orig_len + .byte \alt_len +.endm + #endif /* __ASSEMBLY__ */ + +#endif /* _ASM_X86_ALTERNATIVE_ASM_H */ |
