Commit 88976ee1 authored by H. Peter Anvin's avatar H. Peter Anvin Committed by Ingo Molnar

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: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 7d24a827
...@@ -130,10 +130,7 @@ extern void load_gs_index(unsigned); ...@@ -130,10 +130,7 @@ extern void load_gs_index(unsigned);
"movl %k1, %%" #seg "\n\t" \ "movl %k1, %%" #seg "\n\t" \
"jmp 2b\n" \ "jmp 2b\n" \
".previous\n" \ ".previous\n" \
".section __ex_table,\"a\"\n\t" \ _ASM_EXTABLE(1b,3b) \
_ASM_ALIGN "\n\t" \
_ASM_PTR " 1b,3b\n" \
".previous" \
: :"r" (value), "r" (0)) : :"r" (value), "r" (0))
...@@ -214,12 +211,10 @@ static inline unsigned long native_read_cr4_safe(void) ...@@ -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 /* This could fault if %cr4 does not exist. In x86_64, a cr4 always
* exists, so it will never fail. */ * exists, so it will never fail. */
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
asm volatile("1: mov %%cr4, %0 \n" asm volatile("1: mov %%cr4, %0\n"
"2: \n" "2:\n"
".section __ex_table,\"a\" \n" _ASM_EXTABLE(1b,2b)
".long 1b,2b \n" : "=r" (val), "=m" (__force_order) : "0" (0));
".previous \n"
: "=r" (val), "=m" (__force_order) : "0" (0));
#else #else
val = native_read_cr4(); val = native_read_cr4();
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment