mirror of https://gitee.com/openkylin/qemu.git
softmmu/memory_mapping: never merge ranges accross memory regions
Let's make sure to not merge when different memory regions are involved. Unlikely, but theoretically possible. Acked-by: Stefan Berger <stefanb@linux.ibm.com> Reviewed-by: Peter Xu <peterx@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Alex Williamson <alex.williamson@redhat.com> Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Cc: Igor Mammedov <imammedo@redhat.com> Cc: Claudio Fontana <cfontana@suse.de> Cc: Thomas Huth <thuth@redhat.com> Cc: "Alex Bennée" <alex.bennee@linaro.org> Cc: Peter Xu <peterx@redhat.com> Cc: Laurent Vivier <lvivier@redhat.com> Cc: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20210727082545.17934-3-david@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
45e576c745
commit
602f8ea79c
|
@ -229,7 +229,8 @@ static void guest_phys_blocks_region_add(MemoryListener *listener,
|
|||
|
||||
/* we want continuity in both guest-physical and host-virtual memory */
|
||||
if (predecessor->target_end < target_start ||
|
||||
predecessor->host_addr + predecessor_size != host_addr) {
|
||||
predecessor->host_addr + predecessor_size != host_addr ||
|
||||
predecessor->mr != section->mr) {
|
||||
predecessor = NULL;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue