memory: Make memory_region_is_mapped() succeed when mapped via an alias
commit5ead62185d23caad41ef2afc80773fb384e40229
authorDavid Hildenbrand <david@redhat.com>
Tue, 2 Nov 2021 16:43:16 +0000 (2 17:43 +0100)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Tue, 18 Jan 2022 09:45:35 +0000 (18 10:45 +0100)
treedddc6f8c042a1543ab401773877897f04727004e
parenteef3a7abff8a5eab840868fffd6195d8a2a555d0
memory: Make memory_region_is_mapped() succeed when mapped via an alias

memory_region_is_mapped() currently does not return "true" when a memory
region is mapped via an alias.

Assuming we have:
    alias (A0) -> alias (A1) -> region (R0)
Mapping A0 would currently only make memory_region_is_mapped() succeed
on A0, but not on A1 and R0.

Let's fix that by adding a "mapped_via_alias" counter to memory regions and
updating it accordingly when an alias gets (un)mapped.

I am not aware of actual issues, this is rather a cleanup to make it
consistent.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20211102164317.45658-3-david@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
include/exec/memory.h
softmmu/memory.c