Revision 44bfa332
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