[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 6/7] vhost: Copy updated region data into device state
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [RFC 6/7] vhost: Copy updated region data into device state |
Date: |
Wed, 29 Nov 2017 18:50:25 +0000 |
From: "Dr. David Alan Gilbert" <address@hidden>
Copy the temporary region data we calculated into the device state.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
hw/virtio/vhost.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index ae3d57df1d..34011f9acb 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -787,7 +787,21 @@ static int vhost_update_mem(struct vhost_dev *dev)
trace_vhost_update_mem_comparison(need_update,
(uint64_t)change_start,
(uint64_t)change_end);
- /* TODO */
+ if (need_update) {
+ /* Update the main regions list from our tmp */
+ size_t mem_size = offsetof(struct vhost_memory, regions) +
+ (vtmp.nregions + 1) * sizeof dev->mem->regions[0];
+
+ dev->mem = g_realloc(dev->mem, mem_size);
+ dev->mem->nregions = vtmp.nregions;
+ memcpy(dev->mem->regions, vtmp.regions,
+ vtmp.nregions * sizeof dev->mem->regions[0]);
+ used_memslots = vtmp.nregions;
+
+ dev->mem_changed_start_addr = change_start;
+ dev->mem_changed_end_addr = change_end;
+ }
+
out:
g_free(vtmp.regions);
return res;
--
2.14.3
- [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 1/7] memory: address_space_iterate, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 2/7] vhost: Move log_dirty check, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 3/7] vhost: New memory update functions, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 5/7] vhost: Compare new and old memory lists, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 4/7] vhost: update_mem_cb implementation, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 7/7] vhost: Remove vhost_set_memory and children, Dr. David Alan Gilbert (git), 2017/11/29
- [Qemu-devel] [RFC 6/7] vhost: Copy updated region data into device state,
Dr. David Alan Gilbert (git) <=
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Igor Mammedov, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Igor Mammedov, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Igor Mammedov, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Igor Mammedov, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Igor Mammedov, 2017/11/30
- Re: [Qemu-devel] [RFC 0/7] Rework vhost memory region updates, Dr. David Alan Gilbert, 2017/11/30