Patchwork [1/2] msix: add helper to mark all msix entries

login
register
mail settings
Submitter Michael S. Tsirkin
Date Nov. 24, 2009, 9:31 p.m.
Message ID <20091124213128.GB4703@redhat.com>
Download mbox | patch
Permalink /patch/39241/
State New
Headers show

Comments

Michael S. Tsirkin - Nov. 24, 2009, 9:31 p.m.
will be used by virtio on soft reset

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

---
 hw/msix.c |    7 +++++++
 hw/msix.h |    1 +
 2 files changed, 8 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/msix.c b/hw/msix.c
index 548ffd5..d499441 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -378,3 +378,10 @@  void msix_vector_unuse(PCIDevice *dev, unsigned vector)
     if (vector < dev->msix_entries_nr && dev->msix_entry_used[vector])
         --dev->msix_entry_used[vector];
 }
+
+void msix_unuse_all_vectors(PCIDevice *dev)
+{
+    if (!(dev->cap_present & QEMU_PCI_CAP_MSIX))
+        return;
+    msix_free_irq_entries(dev);
+}
diff --git a/hw/msix.h b/hw/msix.h
index 39fa568..a9f7993 100644
--- a/hw/msix.h
+++ b/hw/msix.h
@@ -25,6 +25,7 @@  uint32_t msix_bar_size(PCIDevice *dev);
 
 int msix_vector_use(PCIDevice *dev, unsigned vector);
 void msix_vector_unuse(PCIDevice *dev, unsigned vector);
+void msix_unuse_all_vectors(PCIDevice *dev);
 
 void msix_notify(PCIDevice *dev, unsigned vector);