search for: binding_opaque

Displaying 20 results from an estimated 40 matches for "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, + Virt...
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, + Virt...
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, + Virt...
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, + Virt...
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, + Virt...
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, + Virt...
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 @@ voi...
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 @@ voi...
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 @@ voi...
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 @@ voi...
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 @@ voi...
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 @@ voi...