diff options
author | David Hildenbrand <david@redhat.com> | 2021-11-02 17:43:16 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2022-01-18 10:45:35 +0100 |
commit | 5ead62185d23caad41ef2afc80773fb384e40229 (patch) | |
tree | dddc6f8c042a1543ab401773877897f04727004e /include | |
parent | eef3a7abff8a5eab840868fffd6195d8a2a555d0 (diff) | |
download | qemu-5ead62185d23caad41ef2afc80773fb384e40229.zip qemu-5ead62185d23caad41ef2afc80773fb384e40229.tar.gz qemu-5ead62185d23caad41ef2afc80773fb384e40229.tar.bz2 |
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/exec/memory.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/exec/memory.h b/include/exec/memory.h index 20f1b27..fea1a49 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -738,6 +738,7 @@ struct MemoryRegion { const MemoryRegionOps *ops; void *opaque; MemoryRegion *container; + int mapped_via_alias; /* Mapped via an alias, container might be NULL */ Int128 size; hwaddr addr; void (*destructor)(MemoryRegion *mr); |