Revision a1e0fea5 hw/virtio-pci.c

b/hw/virtio-pci.c
19 19
#include "pci.h"
20 20
//#include "sysemu.h"
21 21
#include "msix.h"
22
#include "net.h"
22 23

  
23 24
/* from Linux's linux/virtio_pci.h */
24 25

  
......
87 88
    VirtIODevice *vdev;
88 89
    uint32_t addr;
89 90
    uint32_t class_code;
91
    uint32_t nvectors;
90 92
} VirtIOPCIProxy;
91 93

  
92 94
/* virtio device */
......
486 488
    VirtIODevice *vdev;
487 489

  
488 490
    vdev = virtio_net_init(&pci_dev->qdev);
491

  
492
    /* set nvectors from property, unless the user specified something
493
     * via -net nic,model=virtio,vectors=n command line option */
494
    if (pci_dev->qdev.nd->nvectors == NIC_NVECTORS_UNSPECIFIED)
495
        if (proxy->nvectors != NIC_NVECTORS_UNSPECIFIED)
496
            vdev->nvectors = proxy->nvectors;
497

  
489 498
    virtio_init_pci(proxy, vdev,
490 499
                    PCI_VENDOR_ID_REDHAT_QUMRANET,
491 500
                    PCI_DEVICE_ID_VIRTIO_NET,
492 501
                    PCI_CLASS_NETWORK_ETHERNET,
493 502
                    0x00);
503

  
504
    /* make the actual value visible */
505
    proxy->nvectors = vdev->nvectors;
494 506
}
495 507

  
496 508
static void virtio_balloon_init_pci(PCIDevice *pci_dev)
......
520 532
            {/* end of list */}
521 533
        },
522 534
    },{
523
        .qdev.name = "virtio-net-pci",
524
        .qdev.size = sizeof(VirtIOPCIProxy),
525
        .init      = virtio_net_init_pci,
535
        .qdev.name  = "virtio-net-pci",
536
        .qdev.size  = sizeof(VirtIOPCIProxy),
537
        .init       = virtio_net_init_pci,
538
        .qdev.props = (Property[]) {
539
            {
540
                .name   = "vectors",
541
                .info   = &qdev_prop_uint32,
542
                .offset = offsetof(VirtIOPCIProxy, nvectors),
543
                .defval = (uint32_t[]) { NIC_NVECTORS_UNSPECIFIED },
544
            },
545
            {/* end of list */}
546
        },
526 547
    },{
527 548
        .qdev.name = "virtio-console-pci",
528 549
        .qdev.size = sizeof(VirtIOPCIProxy),

Also available in: Unified diff