x86/entry: Remove the transition leftovers
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
This commit is contained in:
parent
91eeafea1e
commit
e2dcb5f139
@ -734,9 +734,8 @@
|
||||
* @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
|
||||
|
@ -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)
|
||||
|
@ -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__ */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user