Displaying 6 results from an estimated 6 matches for "to_virtio_device".
Did you mean:
is_virtio_device
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...t;in_num + elem->out_num) > vq->vring.num)
+ errx(1, "Looped descriptor");
+ } while ((i = virtqueue_next_desc(vq, i)) != vq->vring.num);
+
+ elem->index = head;
+
+ return elem->in_num + elem->out_num;
+}
+
+/* virtio device */
+
+static VirtIODevice *to_virtio_device(PCIDevice *pci_dev)
+{
+ return (VirtIODevice *)pci_dev;
+}
+
+static void virtio_update_irq(VirtIODevice *vdev)
+{
+ qemu_set_irq(vdev->pci_dev.irq[0], vdev->isr & 1);
+}
+
+static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
+{
+ VirtIODevice *vdev = to_v...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...t;in_num + elem->out_num) > vq->vring.num)
+ errx(1, "Looped descriptor");
+ } while ((i = virtqueue_next_desc(vq, i)) != vq->vring.num);
+
+ elem->index = head;
+
+ return elem->in_num + elem->out_num;
+}
+
+/* virtio device */
+
+static VirtIODevice *to_virtio_device(PCIDevice *pci_dev)
+{
+ return (VirtIODevice *)pci_dev;
+}
+
+static void virtio_update_irq(VirtIODevice *vdev)
+{
+ qemu_set_irq(vdev->pci_dev.irq[0], vdev->isr & 1);
+}
+
+static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
+{
+ VirtIODevice *vdev = to_v...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...v);
+ if (!msix_enabled(&vdev->pci_dev))
+ virtio_update_irq(vdev);
for(i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++) {
vdev->vq[i].vring.desc = 0;
@@ -447,8 +465,6 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
VirtIODevice *vdev = to_virtio_device(opaque);
ram_addr_t pa;
- addr -= vdev->addr;
-
switch (addr) {
case VIRTIO_PCI_GUEST_FEATURES:
/* Guest does not negotiate properly? We have to assume nothing. */
@@ -484,6 +500,24 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
if (...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...v);
+ if (!msix_enabled(&vdev->pci_dev))
+ virtio_update_irq(vdev);
for(i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++) {
vdev->vq[i].vring.desc = 0;
@@ -447,8 +465,6 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
VirtIODevice *vdev = to_virtio_device(opaque);
ram_addr_t pa;
- addr -= vdev->addr;
-
switch (addr) {
case VIRTIO_PCI_GUEST_FEATURES:
/* Guest does not negotiate properly? We have to assume nothing. */
@@ -484,6 +500,24 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
if (...
2009 May 20
0
[PATCHv2-RFC 1/2] qemu-kvm: add MSI-X support
...vdev->vq[i].vector = VIRTIO_MSI_NO_VECTOR;
}
+
+ msix_reset(&vdev->pci_dev);
}
static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
@@ -447,8 +472,6 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
VirtIODevice *vdev = to_virtio_device(opaque);
ram_addr_t pa;
- addr -= vdev->addr;
-
switch (addr) {
case VIRTIO_PCI_GUEST_FEATURES:
/* Guest does not negotiate properly? We have to assume nothing. */
@@ -484,6 +507,24 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
if (...
2009 May 20
0
[PATCHv2-RFC 1/2] qemu-kvm: add MSI-X support
...vdev->vq[i].vector = VIRTIO_MSI_NO_VECTOR;
}
+
+ msix_reset(&vdev->pci_dev);
}
static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
@@ -447,8 +472,6 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
VirtIODevice *vdev = to_virtio_device(opaque);
ram_addr_t pa;
- addr -= vdev->addr;
-
switch (addr) {
case VIRTIO_PCI_GUEST_FEATURES:
/* Guest does not negotiate properly? We have to assume nothing. */
@@ -484,6 +507,24 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val)
if (...