Exemplo n.º 1
0
static void pci_nop(void)
{
    QOSState *qs;

    qs = qvirtio_9p_start();
    qvirtio_9p_stop(qs);
}
Exemplo n.º 2
0
static QVirtIO9P *qvirtio_9p_pci_start(void)
{
    QVirtIO9P *v9p = qvirtio_9p_start("virtio-9p-pci");
    QVirtioPCIDevice *dev = qvirtio_pci_device_find(v9p->qs->pcibus,
                                                    VIRTIO_ID_9P);
    g_assert_nonnull(dev);
    g_assert_cmphex(dev->vdev.device_type, ==, VIRTIO_ID_9P);
    v9p->dev = (QVirtioDevice *) dev;

    qvirtio_pci_device_enable(dev);
    qvirtio_reset(v9p->dev);
    qvirtio_set_acknowledge(v9p->dev);
    qvirtio_set_driver(v9p->dev);

    v9p->vq = qvirtqueue_setup(v9p->dev, v9p->qs->alloc, 0);
    return v9p;
}
Exemplo n.º 3
0
static void pci_basic_config(void)
{
    QVirtIO9P *v9p;
    size_t tag_len;
    char *tag;
    int i;
    QOSState *qs;

    qs = qvirtio_9p_start();
    v9p = qvirtio_9p_pci_init(qs);

    tag_len = qvirtio_config_readw(v9p->dev, 0);
    g_assert_cmpint(tag_len, ==, strlen(mount_tag));

    tag = g_malloc(tag_len);
    for (i = 0; i < tag_len; i++) {
        tag[i] = qvirtio_config_readb(v9p->dev, i + 2);
    }
    g_assert_cmpmem(tag, tag_len, mount_tag, tag_len);
    g_free(tag);

    qvirtio_9p_pci_free(v9p);
    qvirtio_9p_stop(qs);
}