|
@@ -1065,6 +1065,7 @@ ENTRY(\sym)
|
|
|
END(\sym)
|
|
|
.endm
|
|
|
|
|
|
+#define INIT_TSS_IST(x) PER_CPU_VAR(init_tss) + (TSS_ist + ((x) - 1) * 8)
|
|
|
.macro paranoidzeroentry_ist sym do_sym ist
|
|
|
ENTRY(\sym)
|
|
|
INTR_FRAME
|
|
@@ -1076,10 +1077,9 @@ ENTRY(\sym)
|
|
|
TRACE_IRQS_OFF
|
|
|
movq %rsp,%rdi /* pt_regs pointer */
|
|
|
xorl %esi,%esi /* no error code */
|
|
|
- PER_CPU(init_tss, %r12)
|
|
|
- subq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%r12)
|
|
|
+ subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
|
|
|
call \do_sym
|
|
|
- addq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%r12)
|
|
|
+ addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
|
|
|
jmp paranoid_exit /* %ebx: no swapgs flag */
|
|
|
CFI_ENDPROC
|
|
|
END(\sym)
|