summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Crosthwaite2014-08-15 08:56:08 +0200
committerPaolo Bonzini2014-08-18 12:06:21 +0200
commitb0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8 (patch)
treed0b7382a2cd9f791ecbb18be260c0fab5995c0a0
parentmemory: Use memory_region_name for name access (diff)
downloadqemu-b0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8.tar.gz
qemu-b0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8.tar.xz
qemu-b0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8.zip
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 <peter.crosthwaite@xilinx.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--include/exec/memory.h1
-rw-r--r--memory.c4
2 files changed, 1 insertions, 4 deletions
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d165b278cb..10f73d9e4a 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 b6b208fa95..8da29af672 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)