On 02.11.21 17:43, David Hildenbrand wrote: > Playing with memory_region_is_mapped(), I realized that memory regions > mapped via an alias behave a little bit "differently", as they don't have > their ->container set. > * memory_region_is_mapped() will never succeed for memory regions mapped > via an alias > * memory_region_to_address_space(), memory_region_find(), > memory_region_find_rcu(), memory_region_present() won't work, which seems > okay, because we don't expect such memory regions getting passed to these > functions. > * memory_region_to_absolute_addr() will result in a wrong address. As > the result is only used for tracing, that is tolerable. > > Let's cleanup/fix the code and documentation of memory_region_is_mapped() > and change one user that really should be checking something else. > > v1 -> v2: > - "memory: Make memory_region_is_mapped() succeed when mapped via an > alias" > -- Add an assertion > - Add RBs > > Cc: Eduardo Habkost <ehabk...@redhat.com> > Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com> > Cc: Paolo Bonzini <pbonz...@redhat.com> > Cc: Peter Xu <pet...@redhat.com> > Cc: Igor Mammedov <imamm...@redhat.com> > Cc: Richard Henderson <richard.hender...@linaro.org> > Cc: "Philippe Mathieu-Daudé" <phi...@redhat.com> > > David Hildenbrand (3): > machine: Use host_memory_backend_is_mapped() in > machine_consume_memdev() > memory: Make memory_region_is_mapped() succeed when mapped via an > alias > memory: Update description of memory_region_is_mapped() > > hw/core/machine.c | 2 +- > include/exec/memory.h | 4 +++- > softmmu/memory.c | 13 ++++++++++++- > 3 files changed, 16 insertions(+), 3 deletions(-) >
Gentle ping -- Thanks, David / dhildenb