diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2008-09-26 03:30:54 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 09:51:42 -0500 |
commit | 26df99c6c5807115f06d4e1abae397b7f5f3e00c (patch) | |
tree | d0ab22cc61ddd6d3ae0ea59a8aba83c49982553d | |
parent | 0496fbb973ccc9477082e859ed0faab5acb805ba (diff) |
KVM: Kick NMI receiving VCPU
Kick the NMI receiving VCPU in case the triggering caller runs in a
different context.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/lapic.c | 1 | ||||
-rw-r--r-- | virt/kvm/ioapic.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 206cc11a1c97..304f9ddbdd51 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -354,6 +354,7 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, | |||
354 | 354 | ||
355 | case APIC_DM_NMI: | 355 | case APIC_DM_NMI: |
356 | kvm_inject_nmi(vcpu); | 356 | kvm_inject_nmi(vcpu); |
357 | kvm_vcpu_kick(vcpu); | ||
357 | break; | 358 | break; |
358 | 359 | ||
359 | case APIC_DM_INIT: | 360 | case APIC_DM_INIT: |
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c index 53772bb46320..c8f939c55075 100644 --- a/virt/kvm/ioapic.c +++ b/virt/kvm/ioapic.c | |||
@@ -150,6 +150,7 @@ static int ioapic_inj_irq(struct kvm_ioapic *ioapic, | |||
150 | static void ioapic_inj_nmi(struct kvm_vcpu *vcpu) | 150 | static void ioapic_inj_nmi(struct kvm_vcpu *vcpu) |
151 | { | 151 | { |
152 | kvm_inject_nmi(vcpu); | 152 | kvm_inject_nmi(vcpu); |
153 | kvm_vcpu_kick(vcpu); | ||
153 | } | 154 | } |
154 | 155 | ||
155 | static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest, | 156 | static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest, |