aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/smp.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-02-26 10:15:56 +0100
committerJan Beulich <jbeulich@suse.com>2013-02-26 10:15:56 +0100
commit2f8c55ccefe49bb526df0eaf5fa9b7b788422208 (patch)
tree8033d7e89278598690f358db62859b5477634b2f /xen/arch/x86/smp.c
parent0f8adcb2a7183bea5063f6fffba7d7e1aa14fc84 (diff)
downloadxen-2f8c55ccefe49bb526df0eaf5fa9b7b788422208.tar.gz
xen-2f8c55ccefe49bb526df0eaf5fa9b7b788422208.tar.bz2
xen-2f8c55ccefe49bb526df0eaf5fa9b7b788422208.zip
x86: fix CMCI injection
This fixes the wrong use of literal vector 0xF7 with an "int" instruction (invalidated by 25113:14609be41f36) and the fact that doing the injection via a software interrupt was never valid anyway (because cmci_interrupt() acks the LAPIC, which does the wrong thing if the interrupt didn't get delivered though it). In order to do latter, the patch introduces send_IPI_self(), at once removing two opend coded uses of "genapic" in the IRQ handling code. Reported-by: Yongjie Ren <yongjie.ren@intel.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Tested-by: Yongjie Ren <yongjie.ren@intel.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/smp.c')
-rw-r--r--xen/arch/x86/smp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 89c2b131af..a607531c3e 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -38,6 +38,11 @@ void send_IPI_mask(const cpumask_t *mask, int vector)
genapic->send_IPI_mask(mask, vector);
}
+void send_IPI_self(int vector)
+{
+ genapic->send_IPI_self(vector);
+}
+
/*
* Some notes on x86 processor bugs affecting SMP operation:
*