diff options
author | David Hildenbrand | 2017-10-16 16:43:00 +0200 |
---|---|---|
committer | Paolo Bonzini | 2017-10-18 10:14:52 +0200 |
commit | 90ed4bcc3a15749c3c341e2a684f8f84e2251b67 (patch) | |
tree | a599c0ff84597471617548553ee0b0b9ecad4e1f /accel | |
parent | kvm: fix error message when failing to unregister slot (diff) | |
download | qemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.tar.gz qemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.tar.xz qemu-90ed4bcc3a15749c3c341e2a684f8f84e2251b67.zip |
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.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 559c544501..2835bb3801 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; |