mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
KVM: IOAPIC/LAPIC: Enable NMI support
[avi: fix ia64 build breakage] Signed-off-by: Sheng Yang <sheng.yang@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
50d40d7fb9
commit
3419ffc8e4
5 changed files with 32 additions and 3 deletions
|
|
@ -146,6 +146,11 @@ static int ioapic_inj_irq(struct kvm_ioapic *ioapic,
|
|||
return kvm_apic_set_irq(vcpu, vector, trig_mode);
|
||||
}
|
||||
|
||||
static void ioapic_inj_nmi(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
kvm_inject_nmi(vcpu);
|
||||
}
|
||||
|
||||
static u32 ioapic_get_delivery_bitmask(struct kvm_ioapic *ioapic, u8 dest,
|
||||
u8 dest_mode)
|
||||
{
|
||||
|
|
@ -239,8 +244,19 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
/* TODO: NMI */
|
||||
case IOAPIC_NMI:
|
||||
for (vcpu_id = 0; deliver_bitmask != 0; vcpu_id++) {
|
||||
if (!(deliver_bitmask & (1 << vcpu_id)))
|
||||
continue;
|
||||
deliver_bitmask &= ~(1 << vcpu_id);
|
||||
vcpu = ioapic->kvm->vcpus[vcpu_id];
|
||||
if (vcpu)
|
||||
ioapic_inj_nmi(vcpu);
|
||||
else
|
||||
ioapic_debug("NMI to vcpu %d failed\n",
|
||||
vcpu->vcpu_id);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printk(KERN_WARNING "Unsupported delivery mode %d\n",
|
||||
delivery_mode);
|
||||
|
|
|
|||
Loading…
Reference in a new issue