From b0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8 Mon Sep 17 00:00:00 2001 From: Peter Crosthwaite Date: Thu, 14 Aug 2014 23:56:08 -0700 Subject: [PATCH] memory: Use canonical path component as the name Rather than having the name as separate state. This prepares support for creating a MemoryRegion dynamically (i.e. without memory_region_init() and friends) and the MemoryRegion still getting a usable name. Signed-off-by: Peter Crosthwaite Signed-off-by: Paolo Bonzini --- include/exec/memory.h | 1 - memory.c | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index d165b27..10f73d9 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -162,7 +162,6 @@ struct MemoryRegion { QTAILQ_HEAD(subregions, MemoryRegion) subregions; QTAILQ_ENTRY(MemoryRegion) subregions_link; QTAILQ_HEAD(coalesced_ranges, CoalescedMemoryRange) coalesced; - const char *name; uint8_t dirty_log_mask; unsigned ioeventfd_nb; MemoryRegionIoeventfd *ioeventfds; diff --git a/memory.c b/memory.c index b6b208f..8da29af 100644 --- a/memory.c +++ b/memory.c @@ -915,7 +915,6 @@ void memory_region_init(MemoryRegion *mr, if (size == UINT64_MAX) { mr->size = int128_2_64(); } - mr->name = g_strdup(name); if (name) { object_property_add_child_array(owner, name, OBJECT(mr)); @@ -1260,7 +1259,6 @@ static void memory_region_finalize(Object *obj) assert(memory_region_transaction_depth == 0); mr->destructor(mr); memory_region_clear_coalescing(mr); - g_free((char *)mr->name); g_free(mr->ioeventfds); } @@ -1310,7 +1308,7 @@ uint64_t memory_region_size(MemoryRegion *mr) const char *memory_region_name(const MemoryRegion *mr) { - return mr->name; + return object_get_canonical_path_component(OBJECT(mr)); } bool memory_region_is_ram(MemoryRegion *mr) -- 2.7.4