|
@@ -1296,23 +1296,26 @@ void qemu_mutex_unlock_ramlist(void)
|
|
qemu_mutex_unlock(&ram_list.mutex);
|
|
qemu_mutex_unlock(&ram_list.mutex);
|
|
}
|
|
}
|
|
|
|
|
|
-void ram_block_dump(Monitor *mon)
|
|
|
|
|
|
+GString *ram_block_format(void)
|
|
{
|
|
{
|
|
RAMBlock *block;
|
|
RAMBlock *block;
|
|
char *psize;
|
|
char *psize;
|
|
|
|
+ GString *buf = g_string_new("");
|
|
|
|
|
|
RCU_READ_LOCK_GUARD();
|
|
RCU_READ_LOCK_GUARD();
|
|
- monitor_printf(mon, "%24s %8s %18s %18s %18s\n",
|
|
|
|
- "Block Name", "PSize", "Offset", "Used", "Total");
|
|
|
|
|
|
+ g_string_append_printf(buf, "%24s %8s %18s %18s %18s\n",
|
|
|
|
+ "Block Name", "PSize", "Offset", "Used", "Total");
|
|
RAMBLOCK_FOREACH(block) {
|
|
RAMBLOCK_FOREACH(block) {
|
|
psize = size_to_str(block->page_size);
|
|
psize = size_to_str(block->page_size);
|
|
- monitor_printf(mon, "%24s %8s 0x%016" PRIx64 " 0x%016" PRIx64
|
|
|
|
- " 0x%016" PRIx64 "\n", block->idstr, psize,
|
|
|
|
- (uint64_t)block->offset,
|
|
|
|
- (uint64_t)block->used_length,
|
|
|
|
- (uint64_t)block->max_length);
|
|
|
|
|
|
+ g_string_append_printf(buf, "%24s %8s 0x%016" PRIx64 " 0x%016" PRIx64
|
|
|
|
+ " 0x%016" PRIx64 "\n", block->idstr, psize,
|
|
|
|
+ (uint64_t)block->offset,
|
|
|
|
+ (uint64_t)block->used_length,
|
|
|
|
+ (uint64_t)block->max_length);
|
|
g_free(psize);
|
|
g_free(psize);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ return buf;
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef __linux__
|
|
#ifdef __linux__
|