search for: cpu_physical_memory_map

Displaying 20 results from an estimated 33 matches for "cpu_physical_memory_map".

2012 Jul 23
2
[PATCH V2] qemu-xen-traditionnal, Fix dirty logging during migration.
This moves the xen_modified_memory call from cpu_physical_memory_map to cpu_physical_memory_unmap because the memory could be migrated before the device model have written to it. But because we need to know the guest address and to avoid rewriting a new function, the call is moved to qemu_invalidate_entry. So this later has to new parameters, the length of the mapp...
2013 Apr 03
1
[PATCH] vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
From: Nicholas Bellinger <nab at linux-iscsi.org> This patch follows MST's recommendation to move checks for vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations from MemoryListener->region_[add,del]() -> vhost_set_memory() into final MemoryListener->commit() -> vhost_commit() callback. It addresses the case where virtio-scsi vq ioport RAM re-mapping to read-only SeaBIOS ROM triggers a cpu_physical_memory_map() NIL MemoryRegionSect...
2013 Apr 03
1
[PATCH] vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping
From: Nicholas Bellinger <nab at linux-iscsi.org> This patch follows MST's recommendation to move checks for vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations from MemoryListener->region_[add,del]() -> vhost_set_memory() into final MemoryListener->commit() -> vhost_commit() callback. It addresses the case where virtio-scsi vq ioport RAM re-mapping to read-only SeaBIOS ROM triggers a cpu_physical_memory_map() NIL MemoryRegionSect...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2015 May 12
2
[Qemu-devel] [PATCH RFC 4/7] vhost: set vring endianness for legacy virtio
...> + vhost_vq_index); > + if (r) { > + return -errno; > + } > + } > + > s = l = virtio_queue_get_desc_size(vdev, idx); > a = virtio_queue_get_desc_addr(vdev, idx); > vq->desc = cpu_physical_memory_map(a, &l, 0);
2015 May 12
2
[Qemu-devel] [PATCH RFC 4/7] vhost: set vring endianness for legacy virtio
...> + vhost_vq_index); > + if (r) { > + return -errno; > + } > + } > + > s = l = virtio_queue_get_desc_size(vdev, idx); > a = virtio_queue_get_desc_addr(vdev, idx); > vq->desc = cpu_physical_memory_map(a, &l, 0);
2009 Nov 02
2
[PATCHv4 6/6] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2009 Nov 02
2
[PATCHv4 6/6] qemu-kvm: vhost-net implementation
..., 0); + r = ioctl(dev->control, VHOST_SET_VRING_KICK, &file); + if (r) + return -errno; + file.fd = vq->call = eventfd(0, 0); + r = ioctl(dev->control, VHOST_SET_VRING_CALL, &file); + if (r) + return -errno; + + s = l = sizeof(struct vring_desc) * q->vring.num; + vq->desc = cpu_physical_memory_map(q->vring.desc, &l, 0); + if (!vq->desc || l != s) + return -ENOMEM; + addr.user_addr = (u_int64_t)(unsigned long)vq->desc; + r = ioctl(dev->control, VHOST_SET_VRING_DESC, &addr); + if (r < 0) + return -errno; + s = l = offsetof(struct vring_avail, ring) + + sizeof(u_int64_...
2015 May 06
0
[PATCH RFC 4/7] vhost: set vring endianness for legacy virtio
...virtio_is_big_endian(vdev), + vhost_vq_index); + if (r) { + return -errno; + } + } + s = l = virtio_queue_get_desc_size(vdev, idx); a = virtio_queue_get_desc_addr(vdev, idx); vq->desc = cpu_physical_memory_map(a, &l, 0); @@ -747,8 +780,9 @@ static void vhost_virtqueue_stop(struct vhost_dev *dev, struct vhost_virtqueue *vq, unsigned idx) { + int vhost_vq_index = idx - dev->vq_index; struct vhost_vring_state state = {...
2015 May 12
0
[Qemu-devel] [PATCH RFC 4/7] vhost: set vring endianness for legacy virtio
...vhost_vq_index); > > + if (r) { > > + return -errno; > > + } > > + } > > + > > s = l = virtio_queue_get_desc_size(vdev, idx); > > a = virtio_queue_get_desc_addr(vdev, idx); > > vq->desc = cpu_physical_memory_map(a, &l, 0);
2009 Jun 04
3
TODO list for qemu+KVM networking performance v2
...[ avi: short timers are very expensive in the guest: need to exit to set the timer, another to fire, yet another to to EOI ] Packets are polled from virtio ring, walking descriptor linked list. [ mst: optimize for completing in order? ] Packet addresses are converted to guest iovec, using cpu_physical_memory_map [ mst: cpu_physical_memory_map could be optimized to only handle what we actually use this for: single page in RAM ] With tap, we pass this to vlan and eventually call writev on tap device [ mst: if there's a single vlan, as is common, we could optimize the vlan scan...
2009 Jun 04
3
TODO list for qemu+KVM networking performance v2
...[ avi: short timers are very expensive in the guest: need to exit to set the timer, another to fire, yet another to to EOI ] Packets are polled from virtio ring, walking descriptor linked list. [ mst: optimize for completing in order? ] Packet addresses are converted to guest iovec, using cpu_physical_memory_map [ mst: cpu_physical_memory_map could be optimized to only handle what we actually use this for: single page in RAM ] With tap, we pass this to vlan and eventually call writev on tap device [ mst: if there's a single vlan, as is common, we could optimize the vlan scan...
2019 Mar 25
1
[RFC PATCH] virtio_ring: Use DMA API if guest memory is encrypted
On Sat, Mar 23, 2019 at 05:01:35PM -0400, Michael S. Tsirkin wrote: > On Thu, Mar 21, 2019 at 09:05:04PM -0300, Thiago Jung Bauermann wrote: > > Michael S. Tsirkin <mst at redhat.com> writes: [snip] > > >> > Is there any justification to doing that beyond someone putting > > >> > out slow code in the past? > > >> > > >> The
2013 Mar 29
8
[PATCH 0/3] virtio/vhost: Add checks for uninitialized VQs
From: Nicholas Bellinger <nab at linux-iscsi.org> Hi folks, This series adds a virtio_queue_valid() for use by virtio-pci code in order to prevent opreations upon uninitialized VQs, that is currently expected to occur during seabios setup of virtio-scsi. This also includes a vhost specific check for uninitialized VQs in vhost_verify_ring_mappings() to avoid this same case. Please review.
2013 Mar 29
8
[PATCH 0/3] virtio/vhost: Add checks for uninitialized VQs
From: Nicholas Bellinger <nab at linux-iscsi.org> Hi folks, This series adds a virtio_queue_valid() for use by virtio-pci code in order to prevent opreations upon uninitialized VQs, that is currently expected to occur during seabios setup of virtio-scsi. This also includes a vhost specific check for uninitialized VQs in vhost_verify_ring_mappings() to avoid this same case. Please review.