virtio-blk: add msi support.
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 12 Aug 2009 10:47:24 +0000 (12:47 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 24 Aug 2009 13:46:48 +0000 (08:46 -0500)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/pc.c
hw/virtio-pci.c

diff --git a/hw/pc.c b/hw/pc.c
index 9198210182a89e2b3adab76af8d1ce9995ff532c..5664d1b6b8e288cdbaaf65c0568acb082e063248 100644 (file)
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1495,6 +1495,10 @@ static QEMUMachine pc_machine_v0_10 = {
             .driver   = "virtio-net-pci",
             .property = "vectors",
             .value    = stringify(0),
+        },{
+            .driver   = "virtio-blk-pci",
+            .property = "vectors",
+            .value    = stringify(0),
         },
         { /* end of list */ }
     },
index 8b57dfcb131743826eb4c00e87d0a39f77209420..e95700a485705c22c5666d72de7d2daf4f8e55e1 100644 (file)
@@ -437,10 +437,13 @@ static void virtio_blk_init_pci(PCIDevice *pci_dev)
         fprintf(stderr, "drive property not set\n");
     }
     vdev = virtio_blk_init(&pci_dev->qdev, proxy->dinfo);
+    vdev->nvectors = proxy->nvectors;
     virtio_init_pci(proxy, vdev,
                     PCI_VENDOR_ID_REDHAT_QUMRANET,
                     PCI_DEVICE_ID_VIRTIO_BLOCK,
                     proxy->class_code, 0x00);
+    /* make the actual value visible */
+    proxy->nvectors = vdev->nvectors;
 }
 
 static void virtio_console_init_pci(PCIDevice *pci_dev)
@@ -504,6 +507,7 @@ static PCIDeviceInfo virtio_info[] = {
         .qdev.props = (Property[]) {
             DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0),
             DEFINE_PROP_DRIVE("drive", VirtIOPCIProxy, dinfo),
+            DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
             DEFINE_PROP_END_OF_LIST(),
         },
     },{
@@ -511,8 +515,8 @@ static PCIDeviceInfo virtio_info[] = {
         .qdev.size  = sizeof(VirtIOPCIProxy),
         .init       = virtio_net_init_pci,
         .qdev.props = (Property[]) {
-            DEFINE_PROP_HEX32("vectors", VirtIOPCIProxy, nvectors,
-                              NIC_NVECTORS_UNSPECIFIED),
+            DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors,
+                               NIC_NVECTORS_UNSPECIFIED),
             DEFINE_PROP_END_OF_LIST(),
         },
     },{