/* * Read pending interrupt vector and intack. */ int kvm_cpu_get_interrupt(struct kvm_vcpu *v) { int vector; if (!lapic_in_kernel(v)) return v->arch.interrupt.nr; vector = kvm_cpu_get_extint(v); if (vector != -1) return vector; /* PIC */ return kvm_get_apic_interrupt(v); /* APIC */ }
/* * Read pending interrupt vector and intack. */ int kvm_cpu_get_interrupt(struct kvm_vcpu *v) { int vector; if (!irqchip_in_kernel(v->kvm)) return v->arch.interrupt.nr; vector = kvm_cpu_get_extint(v); if (kvm_apic_vid_enabled(v->kvm) || vector != -1) return vector; /* PIC */ return kvm_get_apic_interrupt(v); /* APIC */ }