From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAhHl-0008TL-TU for qemu-devel@nongnu.org; Fri, 25 Jul 2014 11:20:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XAhHc-0003Bu-Jd for qemu-devel@nongnu.org; Fri, 25 Jul 2014 11:19:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42565) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAhHc-0003Bo-AE for qemu-devel@nongnu.org; Fri, 25 Jul 2014 11:19:44 -0400 Date: Fri, 25 Jul 2014 16:19:41 +0100 From: Stefan Hajnoczi Message-ID: <20140725151941.GC1855@stefanha-thinkpad.redhat.com> References: <1406226665-1710-1-git-send-email-marc.mari.barcelo@gmail.com> <1406226665-1710-3-git-send-email-marc.mari.barcelo@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="3siQDZowHQqNOShm" Content-Disposition: inline In-Reply-To: <1406226665-1710-3-git-send-email-marc.mari.barcelo@gmail.com> Subject: Re: [Qemu-devel] [PATCH 2/7] tests: Add virtio device initialization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marc =?iso-8859-1?Q?Mar=ED?= Cc: Paolo Bonzini , qemu-devel@nongnu.org --3siQDZowHQqNOShm Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 24, 2014 at 08:31:00PM +0200, Marc Mar=ED wrote: > +static uint32_t qvirtio_pci_get_features(QVirtioDevice *d) > +{ > + QVirtioPCIDevice *dev =3D (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 =3D (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 =3D (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) > =20 > return dev; > } > + > +void qvirtio_pci_enable_device(QVirtioPCIDevice *d) > +{ > + qpci_device_enable(d->pdev); > + d->addr =3D qpci_iomap(d->pdev, 0); > + g_assert(d->addr !=3D 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, =3D=3D, QVIRTIO_BLK_DEVICE_ID= ); > g_assert_cmphex(dev->pdev->devfn, =3D=3D, ((PCI_SLOT << 3) | PCI_FN)= ); > =20 > + 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 =3D dev->addr + QVIRTIO_DEVICE_SPECIFIC_NO_MSIX; > + > + capacity =3D qpci_io_readl(dev->pdev, addr) | > + qpci_io_readl(dev->pdev, addr+4); > + g_assert_cmpint(capacity, =3D=3D, TEST_IMAGE_SIZE/512); Please add a qvirtio_config_read() function instead of directly accessing the virtio configuration space via PCI. Stefan --3siQDZowHQqNOShm Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJT0nWNAAoJEJykq7OBq3PIPbQH/R7M3TPi/x9vgiMJrv87wS2V V0Bo39fQ/Ytvrw1Cez78flM7Vh1hPcc6DDEAL3eKO2t/5vntcCDc062LDoltYLZb KeRL2yONVQeLMuI/9KxPNVmX7KhHQItf+0Ta/OMcwi6H1NfGrx586eQ8/jlwAHXU Jy1Z39VVTH1SklNjio80u5Q+KRzN7ykI2fisp8fG5lT7yyg4Zwp/eBo8k+fj4tpy eIZ6FOMAGznSwqFL0BJ83+ElSasll0wAvGm2Dx5OVLw9kkMO3VisQlf3fQpX2M0x xIOp6oNMASj7eVDDyTCm+BKrBpSrXye4T0jPYa+gjZjaOyN5lemIKP1GN4lAUH4= =1zyB -----END PGP SIGNATURE----- --3siQDZowHQqNOShm--