aboutsummaryrefslogtreecommitdiff
path: root/accel
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-10-16 16:43:00 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2017-10-18 10:14:52 +0200
commit90ed4bcc3a15749c3c341e2a684f8f84e2251b67 (patch)
treea599c0ff84597471617548553ee0b0b9ecad4e1f /accel
parent1c4fdabaf734f6519fdef670df14285e491ef52c (diff)
downloadqemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.zip
qemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.tar.gz
qemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.tar.bz2
kvm: region_add and region_del is not called on updates
Attributes are not updated via region_add()/region_del(). Attribute changes lead to a delete first, followed by a new add. If this would ever not be the case, we would get an error when trying to register the new slot. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20171016144302.24284-6-david@redhat.com> Tested-by: Joe Clifford <joeclifford@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'accel')
-rw-r--r--accel/kvm/kvm-all.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 559c544..2835bb3 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -721,8 +721,8 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml,
ram = memory_region_get_ram_ptr(mr) + section->offset_within_region +
(start_addr - section->offset_within_address_space);
- mem = kvm_lookup_matching_slot(kml, start_addr, size);
if (!add) {
+ mem = kvm_lookup_matching_slot(kml, start_addr, size);
if (!mem) {
return;
}
@@ -741,12 +741,6 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml,
return;
}
- if (mem) {
- /* update the slot */
- kvm_slot_update_flags(kml, mem, mr);
- return;
- }
-
/* register the new slot */
mem = kvm_alloc_slot(kml);
mem->memory_size = size;