static void pci_basic(gconstpointer data)

{

    QVirtioPCIDevice *dev;

    QPCIBus *bus;

    QVirtQueuePCI *tx, *rx;

    QGuestAllocator *alloc;

    void (*func) (const QVirtioBus *bus,

                  QVirtioDevice *dev,

                  QGuestAllocator *alloc,

                  QVirtQueue *rvq,

                  QVirtQueue *tvq,

                  int socket) = data;

    int sv[2], ret;



    ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv);

    g_assert_cmpint(ret, !=, -1);



    bus = pci_test_start(sv[1]);

    dev = virtio_net_pci_init(bus, PCI_SLOT);



    alloc = pc_alloc_init();

    rx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,

                                           alloc, 0);

    tx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,

                                           alloc, 1);



    driver_init(&qvirtio_pci, &dev->vdev);

    func(&qvirtio_pci, &dev->vdev, alloc, &rx->vq, &tx->vq, sv[0]);



    /* End test */

    close(sv[0]);

    guest_free(alloc, tx->vq.desc);

    pc_alloc_uninit(alloc);

    qvirtio_pci_device_disable(dev);

    g_free(dev);

    qpci_free_pc(bus);

    test_end();

}

static void pci_basic(gconstpointer data)

{

    QVirtioPCIDevice *dev;

    QPCIBus *bus;

    QVirtQueuePCI *tx, *rx;

    QGuestAllocator *alloc;

    void (*func) (const QVirtioBus *bus,

                  QVirtioDevice *dev,

                  QGuestAllocator *alloc,

                  QVirtQueue *rvq,

                  QVirtQueue *tvq,

                  int socket) = data;

    int sv[2], ret;



    ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv);

    g_assert_cmpint(ret, !=, -1);



    bus = pci_test_start(sv[1]);

    dev = virtio_net_pci_init(bus, PCI_SLOT);



    alloc = pc_alloc_init();

    rx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,

                                           alloc, 0);

    tx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,

                                           alloc, 1);



    driver_init(&qvirtio_pci, &dev->vdev);

    func(&qvirtio_pci, &dev->vdev, alloc, &rx->vq, &tx->vq, sv[0]);



    

    close(sv[0]);

    guest_free(alloc, tx->vq.desc);

    pc_alloc_uninit(alloc);

    qvirtio_pci_device_disable(dev);

    g_free(dev);

    qpci_free_pc(bus);

    test_end();

}

    guest_free(alloc, tx->vq.desc);
static void FUNC_0(gconstpointer VAR_0)

{

    QVirtioPCIDevice *VAR_3;

    QPCIBus *VAR_2;

    QVirtQueuePCI *tx, *rx;

    QGuestAllocator *VAR_4;

    void (*VAR_1) (const QVirtioBus *VAR_2,

                  QVirtioDevice *VAR_3,

                  QGuestAllocator *VAR_4,

                  QVirtQueue *VAR_5,

                  QVirtQueue *VAR_6,

                  int VAR_7) = VAR_0;

    int VAR_8[2], VAR_9;



    VAR_9 = socketpair(PF_UNIX, SOCK_STREAM, 0, VAR_8);

    g_assert_cmpint(VAR_9, !=, -1);



    VAR_2 = pci_test_start(VAR_8[1]);

    VAR_3 = virtio_net_pci_init(VAR_2, PCI_SLOT);



    VAR_4 = pc_alloc_init();

    rx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &VAR_3->vdev,

                                           VAR_4, 0);

    tx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &VAR_3->vdev,

                                           VAR_4, 1);



    driver_init(&qvirtio_pci, &VAR_3->vdev);

    VAR_1(&qvirtio_pci, &VAR_3->vdev, VAR_4, &rx->vq, &tx->vq, VAR_8[0]);



    

    close(VAR_8[0]);

    guest_free(VAR_4, tx->vq.desc);

    pc_alloc_uninit(VAR_4);

    qvirtio_pci_device_disable(VAR_3);

    g_free(VAR_3);

    qpci_free_pc(VAR_2);

    test_end();

}

static void FUNC_0(gconstpointer VAR_0)
{ QVirtioPCIDevice *VAR_3; QPCIBus *VAR_2; QVirtQueuePCI *tx, *rx; QGuestAllocator *VAR_4; void (*VAR_1) (const QVirtioBus *VAR_2,
QVirtioDevice *VAR_3,
QGuestAllocator *VAR_4,
QVirtQueue *VAR_5,
QVirtQueue *VAR_6,
int VAR_7) = VAR_0; int VAR_8[2], VAR_9; VAR_9 = socketpair(PF_UNIX, SOCK_STREAM, 0, VAR_8); g_assert_cmpint(VAR_9, !=, -1); VAR_2 = pci_test_start(VAR_8[1]); VAR_3 = virtio_net_pci_init(VAR_2, PCI_SLOT); VAR_4 = pc_alloc_init(); rx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &VAR_3->vdev,
VAR_4, 0); tx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &VAR_3->vdev,
VAR_4, 1); driver_init(&qvirtio_pci, &VAR_3->vdev); VAR_1(&qvirtio_pci, &VAR_3->vdev, VAR_4, &rx->vq, &tx->vq, VAR_8[0]); close(VAR_8[0]); guest_free(VAR_4, tx->vq.desc); pc_alloc_uninit(VAR_4); qvirtio_pci_device_disable(VAR_3); g_free(VAR_3); qpci_free_pc(VAR_2); test_end(); }