/* Mark vector as used. */ int msix_vector_use(PCIDevice *dev, unsigned vector) { int ret; if (vector >= dev->msix_entries_nr) return -EINVAL; if (dev->msix_entry_used[vector]) { return 0; } if (kvm_enabled() && kvm_irqchip_in_kernel()) { ret = kvm_msix_add(dev, vector); if (ret) { return ret; } } ++dev->msix_entry_used[vector]; return 0; }
/* Mark vector as used. */ int msix_vector_use(PCIDevice *dev, unsigned vector) { int ret; fprintf(stderr, "CDY msix_vector_use, dev %p, vector 0x%x\n", dev, vector); if (vector >= dev->msix_entries_nr) return -EINVAL; if (dev->msix_entry_used[vector]) { return 0; } if (kvm_enabled() && qemu_kvm_irqchip_in_kernel()) { fprintf(stderr, "CDY call kvm_msix_add\n"); ret = kvm_msix_add(dev, vector); if (ret) { fprintf(stderr, "CDY kvm_msix_add failed, ret = 0x%x\n", ret); return ret; } } ++dev->msix_entry_used[vector]; return 0; }