[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 19/25] virtio: use version 1.0 if available (flip
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH v3 19/25] virtio: use version 1.0 if available (flip the big switch) |
Date: |
Wed, 1 Jul 2015 16:41:04 +0200 |
Signed-off-by: Gerd Hoffmann <address@hidden>
---
src/hw/virtio-pci.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/hw/virtio-pci.c b/src/hw/virtio-pci.c
index dcbf6d7..5cb0e73 100644
--- a/src/hw/virtio-pci.c
+++ b/src/hw/virtio-pci.c
@@ -260,16 +260,19 @@ void vp_init_simple(struct vp_device *vp, struct
pci_device *pci)
}
if (vp->common.cap && vp->notify.cap && vp->isr.cap && vp->device.cap) {
- dprintf(1, "pci dev %x:%x supports virtio 1.0\n",
+ dprintf(1, "pci dev %x:%x using modern (1.0) virtio mode\n",
pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf));
+ vp->use_modern = 1;
+ } else {
+ dprintf(1, "pci dev %x:%x using legacy (0.9.5) virtio mode\n",
+ pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf));
+ vp->legacy.bar = 0;
+ vp->legacy.addr = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) &
+ PCI_BASE_ADDRESS_IO_MASK;
+ vp->legacy.is_io = 1;
+ vp->ioaddr = vp->legacy.addr; /* temporary */
}
- vp->legacy.bar = 0;
- vp->legacy.addr = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) &
- PCI_BASE_ADDRESS_IO_MASK;
- vp->legacy.is_io = 1;
- vp->ioaddr = vp->legacy.addr; /* temporary */
-
vp_reset(vp);
pci_config_maskw(pci->bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER);
vp_set_status(vp, VIRTIO_CONFIG_S_ACKNOWLEDGE |
--
1.8.3.1
- [Qemu-devel] [PATCH v3 04/25] virtio: pass struct pci_device to vp_init_simple, (continued)
- [Qemu-devel] [PATCH v3 04/25] virtio: pass struct pci_device to vp_init_simple, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 01/25] pci: allow to loop over capabilities, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 06/25] virtio: add version 0.9.5 struct, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 08/25] virtio: create vp_cap struct for legacy bar, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 02/25] virtio: run drivers in 32bit mode, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 10/25] virtio: make features 64bit, support version 1.0 features, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 03/25] virtio: add struct vp_device, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 09/25] virtio: add read/write functions and macros, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 05/25] virtio: add version 1.0 structs and #defines, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 15/25] virtio: remove unused vp_del_vq, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 19/25] virtio: use version 1.0 if available (flip the big switch),
Gerd Hoffmann <=
- [Qemu-devel] [PATCH v3 12/25] virtio: add version 1.0 support to vp_get_isr, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 11/25] virtio: add version 1.0 support to vp_{get, set}_status, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 23/25] virtio-scsi: 32bit cleanup, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 13/25] virtio: add version 1.0 support to vp_reset, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 07/25] virtio: find version 1.0 virtio capabilities, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 21/25] virtio: legacy cleanup, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 22/25] virtio-blk: 32bit cleanup, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 24/25] virtio-ring: 32bit cleanup, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 20/25] virtio: also probe version 1.0 pci ids, Gerd Hoffmann, 2015/07/01
- [Qemu-devel] [PATCH v3 17/25] virtio-scsi: fix initialization for version 1.0, Gerd Hoffmann, 2015/07/01