x86: use _ASM_EXTABLE macro in include/asm-x86/system.h
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding __ex_table entires in include/asm-x86/system.h. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
7d24a82708
commit
88976ee187
|
@ -130,10 +130,7 @@ extern void load_gs_index(unsigned);
|
|||
"movl %k1, %%" #seg "\n\t" \
|
||||
"jmp 2b\n" \
|
||||
".previous\n" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
_ASM_ALIGN "\n\t" \
|
||||
_ASM_PTR " 1b,3b\n" \
|
||||
".previous" \
|
||||
_ASM_EXTABLE(1b,3b) \
|
||||
: :"r" (value), "r" (0))
|
||||
|
||||
|
||||
|
@ -214,12 +211,10 @@ static inline unsigned long native_read_cr4_safe(void)
|
|||
/* This could fault if %cr4 does not exist. In x86_64, a cr4 always
|
||||
* exists, so it will never fail. */
|
||||
#ifdef CONFIG_X86_32
|
||||
asm volatile("1: mov %%cr4, %0 \n"
|
||||
"2: \n"
|
||||
".section __ex_table,\"a\" \n"
|
||||
".long 1b,2b \n"
|
||||
".previous \n"
|
||||
: "=r" (val), "=m" (__force_order) : "0" (0));
|
||||
asm volatile("1: mov %%cr4, %0\n"
|
||||
"2:\n"
|
||||
_ASM_EXTABLE(1b,2b)
|
||||
: "=r" (val), "=m" (__force_order) : "0" (0));
|
||||
#else
|
||||
val = native_read_cr4();
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue