Revision 44bfa332 hw/ide/macio.c

b/hw/ide/macio.c
291 291
    pmac_ide_readl,
292 292
};
293 293

  
294
static void pmac_ide_save(QEMUFile *f, void *opaque)
295
{
296
    MACIOIDEState *d = opaque;
297
    unsigned int i;
298

  
299
    /* per IDE interface data */
300
    idebus_save(f, &d->bus);
301

  
302
    /* per IDE drive data */
303
    for(i = 0; i < 2; i++) {
304
        ide_save(f, &d->bus.ifs[i]);
305
    }
306
}
307

  
308
static int pmac_ide_load(QEMUFile *f, void *opaque, int version_id)
309
{
310
    MACIOIDEState *d = opaque;
311
    unsigned int i;
312

  
313
    if (version_id != 1 && version_id != 3)
314
        return -EINVAL;
315

  
316
    /* per IDE interface data */
317
    idebus_load(f, &d->bus, version_id);
318

  
319
    /* per IDE drive data */
320
    for(i = 0; i < 2; i++) {
321
        ide_load(f, &d->bus.ifs[i], version_id);
294
static const VMStateDescription vmstate_pmac = {
295
    .name = "ide",
296
    .version_id = 3,
297
    .minimum_version_id = 0,
298
    .minimum_version_id_old = 0,
299
    .fields      = (VMStateField []) {
300
        VMSTATE_IDE_BUS(bus, MACIOIDEState),
301
        VMSTATE_IDE_DRIVES(bus.ifs, MACIOIDEState),
302
        VMSTATE_END_OF_LIST()
322 303
    }
323
    return 0;
324
}
304
};
325 305

  
326 306
static void pmac_ide_reset(void *opaque)
327 307
{
......
348 328

  
349 329
    pmac_ide_memory = cpu_register_io_memory(pmac_ide_read,
350 330
                                             pmac_ide_write, d);
351
    register_savevm("ide", 0, 3, pmac_ide_save, pmac_ide_load, d);
331
    vmstate_register(0, &vmstate_pmac, d);
352 332
    qemu_register_reset(pmac_ide_reset, d);
353 333
    pmac_ide_reset(d);
354 334

  

Also available in: Unified diff