Revision fe38a32a

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)
b/qemu-monitor.hx
720 720
        .params     = "addr size file",
721 721
        .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
722 722
        .user_print = monitor_user_noop,
723
        .mhandler.cmd_new = do_physical_memory_save,
723
        .cmd_new_ret = do_physical_memory_save,
724 724
    },
725 725

  
726 726
STEXI

Also available in: Unified diff