[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
pgphjBMJq3nB2.pgp
Description: PGP signature
- [Qemu-devel] [PATCH 0/7] Virtio PCI libqos driver, Marc Marí, 2014/07/24
- [Qemu-devel] [PATCH 3/7] libqtest: add QTEST_LOG for debugging qtest testcases, Marc Marí, 2014/07/24
- [Qemu-devel] [PATCH 5/7] libqos: Change free function called in malloc, Marc Marí, 2014/07/24
- [Qemu-devel] [PATCH 1/7] tests: Functions bus_foreach and device_find from libqos virtio API, Marc Marí, 2014/07/24
- [Qemu-devel] [PATCH 4/7] libqos: Correct mask to align size to PAGE_SIZE in malloc-pc, Marc Marí, 2014/07/24