]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/x86/kernel/entry_64.S
Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mv-sheeva.git] / arch / x86 / kernel / entry_64.S
index 4db7c4d12ffacb0ac5bdfe8d26c2ee1c181e52fc..c5ea5cdbe7b3d86a927f82835147c42c6d93fabf 100644 (file)
@@ -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)
@@ -1329,6 +1329,9 @@ ENTRY(xen_failsafe_callback)
        CFI_ENDPROC
 END(xen_failsafe_callback)
 
+apicinterrupt XEN_HVM_EVTCHN_CALLBACK \
+       xen_hvm_callback_vector xen_evtchn_do_upcall
+
 #endif /* CONFIG_XEN */
 
 /*