qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/7] tests: Add virtio device initialization


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH 2/7] tests: Add virtio device initialization
Date: Fri, 25 Jul 2014 16:19:41 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Jul 24, 2014 at 08:31:00PM +0200, Marc Marí wrote:
> +static uint32_t qvirtio_pci_get_features(QVirtioDevice *d)
> +{
> +    QVirtioPCIDevice *dev = (QVirtioPCIDevice *)d;
> +    return qpci_io_readl(dev->pdev, dev->addr + QVIRTIO_DEVICE_FEATURES);
> +}

Unused?  If it's unused, then it's untested.

> +
> +static uint8_t qvirtio_pci_get_status(QVirtioDevice *d)
> +{
> +    QVirtioPCIDevice *dev = (QVirtioPCIDevice *)d;
> +    return qpci_io_readb(dev->pdev, dev->addr + QVIRTIO_DEVICE_STATUS);
> +}

Unused?

> +
> +static void qvirtio_pci_set_status(QVirtioDevice *d, uint8_t val)
> +{
> +    QVirtioPCIDevice *dev = (QVirtioPCIDevice *)d;
> +    qpci_io_writeb(dev->pdev, dev->addr + QVIRTIO_DEVICE_STATUS, val);

Unused?

> @@ -73,3 +97,11 @@ QVirtioPCIDevice *qvirtio_pci_device_find(QPCIBus *bus, 
> uint16_t device_type)
>  
>      return dev;
>  }
> +
> +void qvirtio_pci_enable_device(QVirtioPCIDevice *d)
> +{
> +    qpci_device_enable(d->pdev);
> +    d->addr = qpci_iomap(d->pdev, 0);
> +    g_assert(d->addr != NULL);
> +}

Where is qpci_iounmap() called to clean up?

> @@ -67,6 +69,18 @@ static void pci_basic(void)
>      g_assert_cmphex(dev->vdev.device_type, ==, QVIRTIO_BLK_DEVICE_ID);
>      g_assert_cmphex(dev->pdev->devfn, ==, ((PCI_SLOT << 3) | PCI_FN));
>  
> +    qvirtio_pci_enable_device(dev);
> +    qvirtio_reset(&qvirtio_pci, &dev->vdev);
> +    qvirtio_set_acknowledge(&qvirtio_pci, &dev->vdev);
> +    qvirtio_set_driver(&qvirtio_pci, &dev->vdev);
> +
> +    /* MSI-X is not enabled */
> +    addr = dev->addr + QVIRTIO_DEVICE_SPECIFIC_NO_MSIX;
> +
> +    capacity = qpci_io_readl(dev->pdev, addr) |
> +                qpci_io_readl(dev->pdev, addr+4);
> +    g_assert_cmpint(capacity, ==, TEST_IMAGE_SIZE/512);

Please add a qvirtio_config_read() function instead of directly
accessing the virtio configuration space via PCI.

Stefan

Attachment: pgphjBMJq3nB2.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]