Lines Matching refs:vector
88 bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector) in kvm_apic_pending_eoi() argument
92 return apic_test_vector(vector, apic->regs + APIC_ISR) || in kvm_apic_pending_eoi()
93 apic_test_vector(vector, apic->regs + APIC_IRR); in kvm_apic_pending_eoi()
496 int vector, int level, int trig_mode,
504 return __apic_accept_irq(apic, irq->delivery_mode, irq->vector, in kvm_apic_set_irq()
824 int vector, int level, int trig_mode, in __apic_accept_irq() argument
831 trig_mode, vector); in __apic_accept_irq()
848 if (apic_test_vector(vector, apic->regs + APIC_TMR) != !!trig_mode) { in __apic_accept_irq()
850 apic_set_vector(vector, apic->regs + APIC_TMR); in __apic_accept_irq()
852 apic_clear_vector(vector, apic->regs + APIC_TMR); in __apic_accept_irq()
856 kvm_x86_ops->deliver_posted_interrupt(vcpu, vector); in __apic_accept_irq()
858 apic_set_irr(vector, apic); in __apic_accept_irq()
902 vcpu->vcpu_id, vector); in __apic_accept_irq()
904 apic->sipi_vector = vector; in __apic_accept_irq()
933 static bool kvm_ioapic_handles_vector(struct kvm_lapic *apic, int vector) in kvm_ioapic_handles_vector() argument
935 return test_bit(vector, (ulong *)apic->vcpu->arch.eoi_exit_bitmap); in kvm_ioapic_handles_vector()
938 static void kvm_ioapic_send_eoi(struct kvm_lapic *apic, int vector) in kvm_ioapic_send_eoi() argument
943 if (!kvm_ioapic_handles_vector(apic, vector)) in kvm_ioapic_send_eoi()
948 apic->vcpu->arch.pending_ioapic_eoi = vector; in kvm_ioapic_send_eoi()
953 if (apic_test_vector(vector, apic->regs + APIC_TMR)) in kvm_ioapic_send_eoi()
958 kvm_ioapic_update_eoi(apic->vcpu, vector, trigger_mode); in kvm_ioapic_send_eoi()
963 int vector = apic_find_highest_isr(apic); in apic_set_eoi() local
965 trace_kvm_eoi(apic, vector); in apic_set_eoi()
971 if (vector == -1) in apic_set_eoi()
972 return vector; in apic_set_eoi()
974 apic_clear_isr(vector, apic); in apic_set_eoi()
977 kvm_ioapic_send_eoi(apic, vector); in apic_set_eoi()
979 return vector; in apic_set_eoi()
986 void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector) in kvm_apic_set_eoi_accelerated() argument
990 trace_kvm_eoi(apic, vector); in kvm_apic_set_eoi_accelerated()
992 kvm_ioapic_send_eoi(apic, vector); in kvm_apic_set_eoi_accelerated()
1003 irq.vector = icr_low & APIC_VECTOR_MASK; in apic_send_ipi()
1023 irq.vector, irq.msi_redir_hint); in apic_send_ipi()
1741 int vector, mode, trig_mode; in kvm_apic_local_deliver() local
1744 vector = reg & APIC_VECTOR_MASK; in kvm_apic_local_deliver()
1747 return __apic_accept_irq(apic, mode, vector, 1, trig_mode, in kvm_apic_local_deliver()
1870 int vector = kvm_apic_has_interrupt(vcpu); in kvm_get_apic_interrupt() local
1873 if (vector == -1) in kvm_get_apic_interrupt()
1883 apic_set_isr(vector, apic); in kvm_get_apic_interrupt()
1885 apic_clear_irr(vector, apic); in kvm_get_apic_interrupt()
1886 return vector; in kvm_get_apic_interrupt()
1948 int vector; in apic_sync_pv_eoi_from_guest() local
1970 vector = apic_set_eoi(apic); in apic_sync_pv_eoi_from_guest()
1971 trace_kvm_pv_eoi(apic, vector); in apic_sync_pv_eoi_from_guest()