]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86, extable: Remove open-coded exception table entries in arch/x86/kernel/entry_64.S
authorH. Peter Anvin <hpa@zytor.com>
Fri, 20 Apr 2012 19:19:50 +0000 (12:19 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 20 Apr 2012 20:51:38 +0000 (13:51 -0700)
Remove open-coded exception table entries in arch/x86/kernel/entry_64.S,
and replace them with _ASM_EXTABLE() macros; this will allow us to
change the format and type of the exception table entries.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: David Daney <david.daney@cavium.com>
Link: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A=9EyR=Jtyqfq_cQ@mail.gmail.com
arch/x86/kernel/entry_64.S

index cdc79b5cfcd925c014010a3fe60723a14143616a..320852d02026171d537b58bd95868113fa458d10 100644 (file)
@@ -55,6 +55,7 @@
 #include <asm/paravirt.h>
 #include <asm/ftrace.h>
 #include <asm/percpu.h>
+#include <asm/asm.h>
 #include <linux/err.h>
 
 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this.  */
@@ -900,18 +901,12 @@ restore_args:
 
 irq_return:
        INTERRUPT_RETURN
-
-       .section __ex_table, "a"
-       .quad irq_return, bad_iret
-       .previous
+       _ASM_EXTABLE(irq_return, bad_iret)
 
 #ifdef CONFIG_PARAVIRT
 ENTRY(native_iret)
        iretq
-
-       .section __ex_table,"a"
-       .quad native_iret, bad_iret
-       .previous
+       _ASM_EXTABLE(native_iret, bad_iret)
 #endif
 
        .section .fixup,"ax"
@@ -1181,10 +1176,7 @@ gs_change:
        CFI_ENDPROC
 END(native_load_gs_index)
 
-       .section __ex_table,"a"
-       .align 8
-       .quad gs_change,bad_gs
-       .previous
+       _ASM_EXTABLE(gs_change,bad_gs)
        .section .fixup,"ax"
        /* running with kernelgs */
 bad_gs: