[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/22] virtio: pass struct pci_device to vp_init_
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH v2 04/22] virtio: pass struct pci_device to vp_init_simple |
Date: |
Tue, 30 Jun 2015 10:38:55 +0200 |
... instead of the bdf only.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
src/hw/virtio-blk.c | 2 +-
src/hw/virtio-pci.c | 6 +++---
src/hw/virtio-pci.h | 3 ++-
src/hw/virtio-scsi.c | 2 +-
4 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/hw/virtio-blk.c b/src/hw/virtio-blk.c
index 13cf09a..4f39aa2 100644
--- a/src/hw/virtio-blk.c
+++ b/src/hw/virtio-blk.c
@@ -113,7 +113,7 @@ init_virtio_blk(struct pci_device *pci)
vdrive->drive.type = DTYPE_VIRTIO_BLK;
vdrive->drive.cntl_id = bdf;
- vdrive->vp = vp_init_simple(bdf);
+ vdrive->vp = vp_init_simple(pci);
if (vp_find_vq(vdrive->vp, 0, &vdrive->vq) < 0 ) {
dprintf(1, "fail to find vq for virtio-blk %x:%x\n",
pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf));
diff --git a/src/hw/virtio-pci.c b/src/hw/virtio-pci.c
index 3cd478d..4971021 100644
--- a/src/hw/virtio-pci.c
+++ b/src/hw/virtio-pci.c
@@ -85,15 +85,15 @@ fail:
return -1;
}
-struct vp_device *vp_init_simple(u16 bdf)
+struct vp_device *vp_init_simple(struct pci_device *pci)
{
struct vp_device *vp = malloc_high(sizeof(*vp));
- vp->ioaddr = pci_config_readl(bdf, PCI_BASE_ADDRESS_0) &
+ vp->ioaddr = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) &
PCI_BASE_ADDRESS_IO_MASK;
vp_reset(vp);
- pci_config_maskw(bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER);
+ pci_config_maskw(pci->bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER);
vp_set_status(vp, VIRTIO_CONFIG_S_ACKNOWLEDGE |
VIRTIO_CONFIG_S_DRIVER );
return vp;
diff --git a/src/hw/virtio-pci.h b/src/hw/virtio-pci.h
index 47bef3d..3cf0327 100644
--- a/src/hw/virtio-pci.h
+++ b/src/hw/virtio-pci.h
@@ -106,8 +106,9 @@ static inline void vp_del_vq(struct vp_device *vp, int
queue_index)
outl(0, ioaddr + VIRTIO_PCI_QUEUE_PFN);
}
+struct pci_device;
struct vring_virtqueue;
-struct vp_device *vp_init_simple(u16 bdf);
+struct vp_device *vp_init_simple(struct pci_device *pci);
int vp_find_vq(struct vp_device *vp, int queue_index,
struct vring_virtqueue **p_vq);
#endif /* _VIRTIO_PCI_H_ */
diff --git a/src/hw/virtio-scsi.c b/src/hw/virtio-scsi.c
index 25d2db7..b208d49 100644
--- a/src/hw/virtio-scsi.c
+++ b/src/hw/virtio-scsi.c
@@ -145,7 +145,7 @@ init_virtio_scsi(struct pci_device *pci)
dprintf(1, "found virtio-scsi at %x:%x\n", pci_bdf_to_bus(bdf),
pci_bdf_to_dev(bdf));
struct vring_virtqueue *vq = NULL;
- struct vp_device *vp = vp_init_simple(bdf);
+ struct vp_device *vp = vp_init_simple(pci);
if (vp_find_vq(vp, 2, &vq) < 0 ) {
dprintf(1, "fail to find vq for virtio-scsi %x:%x\n",
pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf));
--
1.8.3.1
- [Qemu-devel] [PATCH v2 00/22] virtio: add version 1.0 support, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 01/22] pci: allow to loop over capabilities, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 02/22] virtio: run drivers in 32bit mode, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 10/22] virtio: add read/write functions and macros, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 08/22] virtio: create vp_cap struct for legacy bar, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 06/22] virtio: add version 0.9.5 struct, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 04/22] virtio: pass struct pci_device to vp_init_simple,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH v2 09/22] virtio: add version 0.9.5 struct [fixup], Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 12/22] virtio: add version 1.0 support to vp_{get, set}_status, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 13/22] virtio: add version 1.0 support to vp_get_isr, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 16/22] virtio: remove unused vp_del_vq, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 14/22] virtio: add version 1.0 support to vp_reset, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 11/22] virtio: make features 64bit, support version 1.0 features, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 18/22] virtio-scsi: fix initialization for version 1.0, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 21/22] virtio: also probe version 1.0 pci ids, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 05/22] virtio: add version 1.0 structs and #defines, Gerd Hoffmann, 2015/06/30
- [Qemu-devel] [PATCH v2 20/22] virtio: use version 1.0 if available (flip the big switch), Gerd Hoffmann, 2015/06/30