[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/5] memory: Make sure root MR won't be added as subregion
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 5/5] memory: Make sure root MR won't be added as subregion |
Date: |
Sat, 13 Mar 2021 12:14:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 |
Hi Peter,
On 3/12/21 7:28 PM, Philippe Mathieu-Daudé wrote:
> From: Peter Xu <peterx@redhat.com>
>
> Add a bool for MR to mark whether this MR is a root MR of an AS. We bail out
> asap if this MR is added as a subregion of another MR.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> include/exec/memory.h | 1 +
> softmmu/memory.c | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index 54ccf1a5f09..8137ad3a9f6 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -477,6 +477,7 @@ struct MemoryRegion {
> bool ram_device;
> bool enabled;
> bool warning_printed; /* For reservations */
> + bool is_root_mr;
> uint8_t vga_logging_count;
> MemoryRegion *alias;
> hwaddr alias_offset;
> diff --git a/softmmu/memory.c b/softmmu/memory.c
> index 9db47b7db6b..ce322ff3d6e 100644
> --- a/softmmu/memory.c
> +++ b/softmmu/memory.c
> @@ -2442,6 +2442,7 @@ static void
> memory_region_add_subregion_common(MemoryRegion *mr,
> MemoryRegion *subregion)
> {
> assert(!subregion->container);
> + assert(!subregion->is_root_mr);
Not all containers have to be backed by AddressSpace.
This check is too strict IMO.
> subregion->container = mr;
> subregion->addr = offset;
> memory_region_update_container_subregions(subregion);
> @@ -2819,6 +2820,7 @@ void address_space_init(AddressSpace *as, MemoryRegion
> *root, const char *name)
> {
> memory_region_ref(root);
> as->root = root;
> + root->is_root_mr = true;
> as->current_map = NULL;
> as->ioeventfd_nb = 0;
> as->ioeventfds = NULL;
>
- Re: [PATCH 2/5] hw/arm/aspeed: Do not sysbus-map mmio flash region directly, use alias, (continued)
[PATCH 3/5] hw/pci-host/prep: Remove unuseful memory region mapping, Philippe Mathieu-Daudé, 2021/03/12
[PATCH 4/5] hw/pci-host/prep: Do not directly map bus-master region onto main bus, Philippe Mathieu-Daudé, 2021/03/12
[PATCH 5/5] memory: Make sure root MR won't be added as subregion, Philippe Mathieu-Daudé, 2021/03/12
- Re: [PATCH 5/5] memory: Make sure root MR won't be added as subregion,
Philippe Mathieu-Daudé <=