diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-02-26 10:15:56 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-02-26 10:15:56 +0100 |
commit | 2f8c55ccefe49bb526df0eaf5fa9b7b788422208 (patch) | |
tree | 8033d7e89278598690f358db62859b5477634b2f /xen/arch/x86/smp.c | |
parent | 0f8adcb2a7183bea5063f6fffba7d7e1aa14fc84 (diff) | |
download | xen-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.c | 5 |
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: * |