Revision fe38a32a monitor.c
b/monitor.c | ||
---|---|---|
1466 | 1466 |
return ret; |
1467 | 1467 |
} |
1468 | 1468 |
|
1469 |
static void do_physical_memory_save(Monitor *mon, const QDict *qdict,
|
|
1469 |
static int do_physical_memory_save(Monitor *mon, const QDict *qdict,
|
|
1470 | 1470 |
QObject **ret_data) |
1471 | 1471 |
{ |
1472 | 1472 |
FILE *f; |
... | ... | |
1475 | 1475 |
uint32_t size = qdict_get_int(qdict, "size"); |
1476 | 1476 |
const char *filename = qdict_get_str(qdict, "filename"); |
1477 | 1477 |
target_phys_addr_t addr = qdict_get_int(qdict, "val"); |
1478 |
int ret = -1; |
|
1478 | 1479 |
|
1479 | 1480 |
f = fopen(filename, "wb"); |
1480 | 1481 |
if (!f) { |
1481 | 1482 |
qemu_error_new(QERR_OPEN_FILE_FAILED, filename); |
1482 |
return; |
|
1483 |
return -1;
|
|
1483 | 1484 |
} |
1484 | 1485 |
while (size != 0) { |
1485 | 1486 |
l = sizeof(buf); |
... | ... | |
1494 | 1495 |
addr += l; |
1495 | 1496 |
size -= l; |
1496 | 1497 |
} |
1498 |
|
|
1499 |
ret = 0; |
|
1500 |
|
|
1497 | 1501 |
exit: |
1498 | 1502 |
fclose(f); |
1503 |
return ret; |
|
1499 | 1504 |
} |
1500 | 1505 |
|
1501 | 1506 |
static void do_sum(Monitor *mon, const QDict *qdict) |
Also available in: Unified diff