File tree Expand file tree Collapse file tree 3 files changed +13
-16
lines changed Expand file tree Collapse file tree 3 files changed +13
-16
lines changed Original file line number Diff line number Diff line change @@ -106,9 +106,13 @@ define cmd_check_data_rel
106
106
done
107
107
endef
108
108
109
+ # We need to run two commands under "if_changed", so merge them into a
110
+ # single invocation.
111
+ quiet_cmd_check-and-link-vmlinux = LD $@
112
+ cmd_check-and-link-vmlinux = $(cmd_check_data_rel ) ; $(cmd_ld )
113
+
109
114
$(obj ) /vmlinux : $(vmlinux-objs-y ) FORCE
110
- $(call if_changed,check_data_rel)
111
- $(call if_changed,ld)
115
+ $(call if_changed,check-and-link-vmlinux)
112
116
113
117
OBJCOPYFLAGS_vmlinux.bin := -R .comment -S
114
118
$(obj ) /vmlinux.bin : vmlinux FORCE
Original file line number Diff line number Diff line change @@ -981,7 +981,7 @@ ENTRY(\sym)
981
981
982
982
call \do_sym
983
983
984
- jmp error_exit /* %ebx: no swapgs flag */
984
+ jmp error_exit
985
985
.endif
986
986
END(\sym)
987
987
.endm
@@ -1222,7 +1222,6 @@ END(paranoid_exit)
1222
1222
1223
1223
/*
1224
1224
* Save all registers in pt_regs, and switch GS if needed.
1225
- * Return: EBX=0: came from user mode; EBX=1: otherwise
1226
1225
*/
1227
1226
ENTRY(error_entry)
1228
1227
UNWIND_HINT_FUNC
@@ -1269,7 +1268,6 @@ ENTRY(error_entry)
1269
1268
* for these here too.
1270
1269
*/
1271
1270
.Lerror_kernelspace:
1272
- incl %ebx
1273
1271
leaq native_irq_return_iret(%rip ), %rcx
1274
1272
cmpq %rcx , RIP+8 (%rsp )
1275
1273
je .Lerror_bad_iret
@@ -1303,28 +1301,20 @@ ENTRY(error_entry)
1303
1301
1304
1302
/*
1305
1303
* Pretend that the exception came from user mode: set up pt_regs
1306
- * as if we faulted immediately after IRET and clear EBX so that
1307
- * error_exit knows that we will be returning to user mode.
1304
+ * as if we faulted immediately after IRET.
1308
1305
*/
1309
1306
mov %rsp , %rdi
1310
1307
call fixup_bad_iret
1311
1308
mov %rax , %rsp
1312
- decl %ebx
1313
1309
jmp .Lerror_entry_from_usermode_after_swapgs
1314
1310
END(error_entry)
1315
1311
1316
-
1317
- /*
1318
- * On entry, EBX is a "return to kernel mode" flag:
1319
- * 1: already in kernel mode, don't need SWAPGS
1320
- * 0: user gsbase is loaded, we need SWAPGS and standard preparation for return to usermode
1321
- */
1322
1312
ENTRY(error_exit)
1323
1313
UNWIND_HINT_REGS
1324
1314
DISABLE_INTERRUPTS(CLBR_ANY)
1325
1315
TRACE_IRQS_OFF
1326
- testl %ebx , %ebx
1327
- jnz retint_kernel
1316
+ testb $3 , CS ( %rsp )
1317
+ jz retint_kernel
1328
1318
jmp retint_user
1329
1319
END(error_exit)
1330
1320
Original file line number Diff line number Diff line change @@ -573,6 +573,9 @@ static u32 skx_deadline_rev(void)
573
573
case 0x04 : return 0x02000014 ;
574
574
}
575
575
576
+ if (boot_cpu_data .x86_stepping > 4 )
577
+ return 0 ;
578
+
576
579
return ~0U ;
577
580
}
578
581
You can’t perform that action at this time.
0 commit comments