Commit d1dd32af authored by Peter Crosthwaite's avatar Peter Crosthwaite Committed by Paolo Bonzini
Browse files

memory: Lazy init name from QOM name as needed



To support name retrieval of MemoryRegions that were created
dynamically (that is, not via memory_region_init and friends). We
cache the name in MemoryRegion's state as
object_get_canonical_path_component mallocs the returned value
so it's not suitable for direct return to callers. Memory already
frees the name field, so this will be garbage collected along with
the MR object.

Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 3e1f5086
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1309,6 +1309,10 @@ uint64_t memory_region_size(MemoryRegion *mr)

const char *memory_region_name(const MemoryRegion *mr)
{
    if (!mr->name) {
        ((MemoryRegion *)mr)->name =
            object_get_canonical_path_component(OBJECT(mr));
    }
    return mr->name;
}