Displaying 20 results from an estimated 40 matches for "binding_opaqu".
Did you mean:
binding_opaque
2009 Jun 05
2
[PATCHv3 12/13] qemu: virtio save/load bindings
...8,8 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
{
int i;
- /* FIXME: load/save binding. */
- //pci_device_save(&vdev->pci_dev, f);
- //msix_save(&vdev->pci_dev, f);
+ if (vdev->binding->save_config)
+ vdev->binding->save_config(vdev->binding_opaque, f);
qemu_put_8s(f, &vdev->status);
qemu_put_8s(f, &vdev->isr);
@@ -596,19 +595,20 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
qemu_put_be32(f, vdev->vq[i].vring.num);
qemu_put_be64(f, vdev->vq[i].pa);
qemu_put_be16s(f, &vdev-...
2009 Jun 05
2
[PATCHv3 12/13] qemu: virtio save/load bindings
...8,8 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
{
int i;
- /* FIXME: load/save binding. */
- //pci_device_save(&vdev->pci_dev, f);
- //msix_save(&vdev->pci_dev, f);
+ if (vdev->binding->save_config)
+ vdev->binding->save_config(vdev->binding_opaque, f);
qemu_put_8s(f, &vdev->status);
qemu_put_8s(f, &vdev->isr);
@@ -596,19 +595,20 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
qemu_put_be32(f, vdev->vq[i].vring.num);
qemu_put_be64(f, vdev->vq[i].pa);
qemu_put_be16s(f, &vdev-...
2009 May 25
1
[PATCH] qemu: virtio save/load bindings
...8,8 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
{
int i;
- /* FIXME: load/save binding. */
- //pci_device_save(&vdev->pci_dev, f);
- //msix_save(&vdev->pci_dev, f);
+ if (vdev->binding->save_config)
+ vdev->binding->save_config(vdev->binding_opaque, f);
qemu_put_8s(f, &vdev->status);
qemu_put_8s(f, &vdev->isr);
@@ -596,19 +595,20 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
qemu_put_be32(f, vdev->vq[i].vring.num);
qemu_put_be64(f, vdev->vq[i].pa);
qemu_put_be16s(f, &vdev-...
2009 May 25
1
[PATCH] qemu: virtio save/load bindings
...8,8 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
{
int i;
- /* FIXME: load/save binding. */
- //pci_device_save(&vdev->pci_dev, f);
- //msix_save(&vdev->pci_dev, f);
+ if (vdev->binding->save_config)
+ vdev->binding->save_config(vdev->binding_opaque, f);
qemu_put_8s(f, &vdev->status);
qemu_put_8s(f, &vdev->isr);
@@ -596,19 +595,20 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f)
qemu_put_be32(f, vdev->vq[i].vring.num);
qemu_put_be64(f, vdev->vq[i].pa);
qemu_put_be16s(f, &vdev-...
2012 Jun 25
4
[RFC V2 PATCH 0/4] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jun 25
4
[RFC V2 PATCH 0/4] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jul 06
5
[RFC V3 0/5] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jul 06
5
[RFC V3 0/5] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...cal_memory_map(q->vring.used, &l, 1);
+ if (!vq->used || l != s)
+ return -ENOMEM;
+ addr.user_addr = (u_int64_t)(unsigned long)vq->used;
+ r = ioctl(dev->control, VHOST_SET_VRING_USED, &addr);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->irqfd(vdev->binding_opaque, q->vector, vq->call);
+ if (r < 0)
+ return -errno;
+
+ r = vdev->binding->queuefd(vdev->binding_opaque, idx, vq->kick);
+ if (r < 0)
+ return -errno;
+
+ return 0;
+}
+
+static int vhost_dev_init(struct vhost_dev *hdev,
+ Vir...
2009 Jun 18
0
[PATCHv5 09/13] qemu: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...
2009 Jun 18
0
[PATCHv5 09/13] qemu: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...
2009 Jun 10
0
[PATCHv4 09/13] qemu: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...
2009 Jun 10
0
[PATCHv4 09/13] qemu: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...
2009 Jun 21
0
[PATCHv6 07/12] qemu/virtio: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...
2009 Jun 21
0
[PATCHv6 07/12] qemu/virtio: virtio support for many interrupt vectors
...evice *vdev, VirtQueue *vq);
};
@@ -373,12 +374,16 @@ int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem)
}
/* virtio device */
+static void virtio_notify_vector(VirtIODevice *vdev, uint16_t vector)
+{
+ if (vdev->binding->notify) {
+ vdev->binding->notify(vdev->binding_opaque, vector);
+ }
+}
void virtio_update_irq(VirtIODevice *vdev)
{
- if (vdev->binding->update_irq) {
- vdev->binding->update_irq(vdev->binding_opaque);
- }
+ virtio_notify_vector(vdev, VIRTIO_NO_VECTOR);
}
void virtio_reset(void *opaque)
@@ -393,7 +398,8 @@ vo...