]> git.baikalelectronics.ru Git - kernel.git/commitdiff
x86/entry: Remove the transition leftovers
authorThomas Gleixner <tglx@linutronix.de>
Thu, 21 May 2020 20:05:29 +0000 (22:05 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jun 2020 13:15:09 +0000 (15:15 +0200)
Now that all exceptions are converted over the sane flag is not longer
needed. Also the vector argument of idtentry_body on 64-bit is pointless
now.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Andy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/20200521202118.331115895@linutronix.de
arch/x86/entry/entry_32.S
arch/x86/entry/entry_64.S
arch/x86/include/asm/idtentry.h

index 660ed3ed37dc504dcf44e23a96dd0288854be5a3..6c6ae3a8c1fc02e8ac9610563aa165991191f55d 100644 (file)
  * @asmsym:            ASM symbol for the entry point
  * @cfunc:             C function to be called
  * @has_error_code:    Hardware pushed error code on stack
- * @sane:              Compatibility flag with 64bit
  */
-.macro idtentry vector asmsym cfunc has_error_code:req sane=0
+.macro idtentry vector asmsym cfunc has_error_code:req
 SYM_CODE_START(\asmsym)
        ASM_CLAC
        cld
index 5789f76932b6cbe91122720a890e617808e3048a..2e476f488acef6fe8e91be39108bb5e477056367 100644 (file)
@@ -496,27 +496,14 @@ SYM_CODE_END(spurious_entries_start)
 
 /**
  * idtentry_body - Macro to emit code calling the C function
- * @vector:            Vector number
  * @cfunc:             C function to be called
  * @has_error_code:    Hardware pushed error code on stack
- * @sane:              Sane variant which handles irq tracing, context tracking in C
  */
-.macro idtentry_body vector cfunc has_error_code:req sane=0
+.macro idtentry_body cfunc has_error_code:req
 
        call    error_entry
        UNWIND_HINT_REGS
 
-       .if \sane == 0
-       TRACE_IRQS_OFF
-
-#ifdef CONFIG_CONTEXT_TRACKING
-       testb   $3, CS(%rsp)
-       jz      .Lfrom_kernel_no_ctxt_tracking_\@
-       CALL_enter_from_user_mode
-.Lfrom_kernel_no_ctxt_tracking_\@:
-#endif
-       .endif
-
        movq    %rsp, %rdi                      /* pt_regs pointer into 1st argument*/
 
        .if \has_error_code == 1
@@ -526,11 +513,7 @@ SYM_CODE_END(spurious_entries_start)
 
        call    \cfunc
 
-       .if \sane == 0
-       jmp     error_exit
-       .else
        jmp     error_return
-       .endif
 .endm
 
 /**
@@ -539,12 +522,11 @@ SYM_CODE_END(spurious_entries_start)
  * @asmsym:            ASM symbol for the entry point
  * @cfunc:             C function to be called
  * @has_error_code:    Hardware pushed error code on stack
- * @sane:              Sane variant which handles irq tracing, context tracking in C
  *
  * The macro emits code to set up the kernel context for straight forward
  * and simple IDT entries. No IST stack, no paranoid entry checks.
  */
-.macro idtentry vector asmsym cfunc has_error_code:req sane=0
+.macro idtentry vector asmsym cfunc has_error_code:req
 SYM_CODE_START(\asmsym)
        UNWIND_HINT_IRET_REGS offset=\has_error_code*8
        ASM_CLAC
@@ -567,7 +549,7 @@ SYM_CODE_START(\asmsym)
 .Lfrom_usermode_no_gap_\@:
        .endif
 
-       idtentry_body \vector \cfunc \has_error_code \sane
+       idtentry_body \cfunc \has_error_code
 
 _ASM_NOKPROBE(\asmsym)
 SYM_CODE_END(\asmsym)
@@ -642,7 +624,7 @@ SYM_CODE_START(\asmsym)
 
        /* Switch to the regular task stack and use the noist entry point */
 .Lfrom_usermode_switch_stack_\@:
-       idtentry_body vector noist_\cfunc, has_error_code=0 sane=1
+       idtentry_body noist_\cfunc, has_error_code=0
 
 _ASM_NOKPROBE(\asmsym)
 SYM_CODE_END(\asmsym)
index 9ec5466e4c051500d90033ce3ad9580c2d949be8..36e5b929389b6cb9774fa03989e8cf86869c9619 100644 (file)
@@ -298,10 +298,10 @@ __visible noinstr void func(struct pt_regs *regs,                 \
  * The ASM variants for DECLARE_IDTENTRY*() which emit the ASM entry stubs.
  */
 #define DECLARE_IDTENTRY(vector, func)                                 \
-       idtentry vector asm_##func func has_error_code=0 sane=1
+       idtentry vector asm_##func func has_error_code=0
 
 #define DECLARE_IDTENTRY_ERRORCODE(vector, func)                       \
-       idtentry vector asm_##func func has_error_code=1 sane=1
+       idtentry vector asm_##func func has_error_code=1
 
 /* Special case for 32bit IRET 'trap'. Do not emit ASM code */
 #define DECLARE_IDTENTRY_SW(vector, func)
@@ -345,7 +345,7 @@ __visible noinstr void func(struct pt_regs *regs,                   \
 
 /* XEN NMI and DB wrapper */
 #define DECLARE_IDTENTRY_XEN(vector, func)                             \
-       idtentry vector asm_exc_xen##func exc_##func has_error_code=0 sane=1
+       idtentry vector asm_exc_xen##func exc_##func has_error_code=0
 
 #endif /* __ASSEMBLY__ */