Lines Matching defs:vector

110 bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector)
114 return apic_test_vector(vector, apic->regs + APIC_ISR) ||
115 apic_test_vector(vector, apic->regs + APIC_IRR);
761 * The highest vector is injected. Thus the latest bit set matches
820 int vector, int level, int trig_mode,
828 return __apic_accept_irq(apic, irq->delivery_mode, irq->vector,
864 irq.vector = icr & APIC_VECTOR_MASK;
1092 int kvm_vector_to_index(u32 vector, u32 dest_vcpus,
1098 mod = vector % dest_vcpus;
1193 lowest = kvm_vector_to_index(irq->vector, hweight16(*bitmap),
1249 * - Else if vector hashing is enabled and it is a lowest-priority
1254 * 2. Use "guest vector % max number of destination vCPUs" to find
1292 int vector, int level, int trig_mode,
1299 trig_mode, vector);
1316 dest_map->vectors[vcpu->vcpu_id] = vector;
1319 if (apic_test_vector(vector, apic->regs + APIC_TMR) != !!trig_mode) {
1321 kvm_lapic_set_vector(vector,
1324 kvm_lapic_clear_vector(vector,
1329 trig_mode, vector);
1364 apic->sipi_vector = vector;
1437 static bool kvm_ioapic_handles_vector(struct kvm_lapic *apic, int vector)
1439 return test_bit(vector, apic->vcpu->arch.ioapic_handled_vectors);
1442 static void kvm_ioapic_send_eoi(struct kvm_lapic *apic, int vector)
1446 /* Eoi the ioapic only if the ioapic doesn't own the vector. */
1447 if (!kvm_ioapic_handles_vector(apic, vector))
1452 apic->vcpu->arch.pending_ioapic_eoi = vector;
1457 if (apic_test_vector(vector, apic->regs + APIC_TMR))
1462 kvm_ioapic_update_eoi(apic->vcpu, vector, trigger_mode);
1467 int vector = apic_find_highest_isr(apic);
1469 trace_kvm_eoi(apic, vector);
1475 if (vector == -1)
1476 return vector;
1478 apic_clear_isr(vector, apic);
1482 test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
1483 kvm_hv_synic_send_eoi(apic->vcpu, vector);
1485 kvm_ioapic_send_eoi(apic, vector);
1487 return vector;
1494 void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector)
1498 trace_kvm_eoi(apic, vector);
1500 kvm_ioapic_send_eoi(apic, vector);
1512 irq.vector = icr_low & APIC_VECTOR_MASK;
2385 * the vector, everything else is reserved.
2766 int vector, mode, trig_mode;
2770 vector = reg & APIC_VECTOR_MASK;
2774 r = __apic_accept_irq(apic, mode, vector, 1, trig_mode, NULL);
2896 int vector = kvm_apic_has_interrupt(vcpu);
2900 if (vector == -1)
2910 apic_clear_irr(vector, apic);
2911 if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
2925 apic_set_isr(vector, apic);
2929 return vector;
3052 int vector;
3068 vector = apic_set_eoi(apic);
3069 trace_kvm_pv_eoi(apic, vector);
3303 /* evaluate pending_events before reading the vector */