Monitor: Convert do_physical_memory_save() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Luiz Capitulino 2010-02-10 23:49:59 -02:00 committed by Anthony Liguori
parent 9869622ee8
commit fe38a32acc
2 changed files with 8 additions and 3 deletions

View File

@ -1466,7 +1466,7 @@ exit:
return ret;
}
static void do_physical_memory_save(Monitor *mon, const QDict *qdict,
static int do_physical_memory_save(Monitor *mon, const QDict *qdict,
QObject **ret_data)
{
FILE *f;
@ -1475,11 +1475,12 @@ static void do_physical_memory_save(Monitor *mon, const QDict *qdict,
uint32_t size = qdict_get_int(qdict, "size");
const char *filename = qdict_get_str(qdict, "filename");
target_phys_addr_t addr = qdict_get_int(qdict, "val");
int ret = -1;
f = fopen(filename, "wb");
if (!f) {
qemu_error_new(QERR_OPEN_FILE_FAILED, filename);
return;
return -1;
}
while (size != 0) {
l = sizeof(buf);
@ -1494,8 +1495,12 @@ static void do_physical_memory_save(Monitor *mon, const QDict *qdict,
addr += l;
size -= l;
}
ret = 0;
exit:
fclose(f);
return ret;
}
static void do_sum(Monitor *mon, const QDict *qdict)

View File

@ -720,7 +720,7 @@ ETEXI
.params = "addr size file",
.help = "save to disk physical memory dump starting at 'addr' of size 'size'",
.user_print = monitor_user_noop,
.mhandler.cmd_new = do_physical_memory_save,
.cmd_new_ret = do_physical_memory_save,
},
STEXI