Revision 0be71e32

b/audio/audio.c
1901 1901
    }
1902 1902

  
1903 1903
    QLIST_INIT (&s->card_head);
1904
    vmstate_register (0, &vmstate_audio, s);
1904
    vmstate_register (NULL, 0, &vmstate_audio, s);
1905 1905
}
1906 1906

  
1907 1907
void AUD_register_card (const char *name, QEMUSoundCard *card)
b/block-migration.c
638 638
    QSIMPLEQ_INIT(&block_mig_state.bmds_list);
639 639
    QSIMPLEQ_INIT(&block_mig_state.blk_list);
640 640

  
641
    register_savevm_live("block", 0, 1, block_set_params, block_save_live,
642
                         NULL, block_load, &block_mig_state);
641
    register_savevm_live(NULL, "block", 0, 1, block_set_params,
642
                         block_save_live, NULL, block_load, &block_mig_state);
643 643
}
b/exec.c
641 641
    cpu_list_unlock();
642 642
#endif
643 643
#if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
644
    vmstate_register(cpu_index, &vmstate_cpu_common, env);
645
    register_savevm("cpu", cpu_index, CPU_SAVE_VERSION,
644
    vmstate_register(NULL, cpu_index, &vmstate_cpu_common, env);
645
    register_savevm(NULL, "cpu", cpu_index, CPU_SAVE_VERSION,
646 646
                    cpu_save, cpu_load, env);
647 647
#endif
648 648
}
b/hw/adb.c
305 305
    d = adb_register_device(bus, ADB_KEYBOARD, adb_kbd_request,
306 306
                            adb_kbd_reset, s);
307 307
    qemu_add_kbd_event_handler(adb_kbd_put_keycode, d);
308
    register_savevm("adb_kbd", -1, 1, adb_kbd_save,
308
    register_savevm(NULL, "adb_kbd", -1, 1, adb_kbd_save,
309 309
                    adb_kbd_load, s);
310 310
}
311 311

  
......
475 475
    d = adb_register_device(bus, ADB_MOUSE, adb_mouse_request,
476 476
                            adb_mouse_reset, s);
477 477
    qemu_add_mouse_event_handler(adb_mouse_event, d, 0, "QEMU ADB Mouse");
478
    register_savevm("adb_mouse", -1, 1, adb_mouse_save,
478
    register_savevm(NULL, "adb_mouse", -1, 1, adb_mouse_save,
479 479
                    adb_mouse_load, s);
480 480
}
b/hw/ads7846.c
151 151

  
152 152
    ads7846_int_update(s);
153 153

  
154
    register_savevm("ads7846", -1, 0, ads7846_save, ads7846_load, s);
154
    register_savevm(NULL, "ads7846", -1, 0, ads7846_save, ads7846_load, s);
155 155
    return 0;
156 156
}
157 157

  
b/hw/arm_gic.c
744 744
    s->iomemtype = cpu_register_io_memory(gic_dist_readfn,
745 745
                                          gic_dist_writefn, s);
746 746
    gic_reset(s);
747
    register_savevm("arm_gic", -1, 1, gic_save, gic_load, s);
747
    register_savevm(NULL, "arm_gic", -1, 1, gic_save, gic_load, s);
748 748
}
b/hw/arm_timer.c
174 174

  
175 175
    bh = qemu_bh_new(arm_timer_tick, s);
176 176
    s->timer = ptimer_init(bh);
177
    register_savevm("arm_timer", -1, 1, arm_timer_save, arm_timer_load, s);
177
    register_savevm(NULL, "arm_timer", -1, 1, arm_timer_save, arm_timer_load, s);
178 178
    return s;
179 179
}
180 180

  
......
271 271
    iomemtype = cpu_register_io_memory(sp804_readfn,
272 272
                                       sp804_writefn, s);
273 273
    sysbus_init_mmio(dev, 0x1000, iomemtype);
274
    register_savevm("sp804", -1, 1, sp804_save, sp804_load, s);
274
    register_savevm(&dev->qdev, "sp804", -1, 1, sp804_save, sp804_load, s);
275 275
    return 0;
276 276
}
277 277

  
b/hw/armv7m_nvic.c
397 397
    gic_init(&s->gic);
398 398
    cpu_register_physical_memory(0xe000e000, 0x1000, s->gic.iomemtype);
399 399
    s->systick.timer = qemu_new_timer(vm_clock, systick_timer_tick, s);
400
    register_savevm("armv7m_nvic", -1, 1, nvic_save, nvic_load, s);
400
    register_savevm(&dev->qdev, "armv7m_nvic", -1, 1, nvic_save, nvic_load, s);
401 401
    return 0;
402 402
}
403 403

  
b/hw/cirrus_vga.c
3128 3128
    s->vga.ds = graphic_console_init(s->vga.update, s->vga.invalidate,
3129 3129
                                     s->vga.screen_dump, s->vga.text_update,
3130 3130
                                     &s->vga);
3131
    vmstate_register(0, &vmstate_cirrus_vga, s);
3131
    vmstate_register(NULL, 0, &vmstate_cirrus_vga, s);
3132 3132
    rom_add_vga(VGABIOS_CIRRUS_FILENAME);
3133 3133
    /* XXX ISA-LFB support */
3134 3134
}
b/hw/cuda.c
763 763

  
764 764
    s->adb_poll_timer = qemu_new_timer(vm_clock, cuda_adb_poll, s);
765 765
    *cuda_mem_index = cpu_register_io_memory(cuda_read, cuda_write, s);
766
    register_savevm("cuda", -1, 1, cuda_save, cuda_load, s);
766
    register_savevm(NULL, "cuda", -1, 1, cuda_save, cuda_load, s);
767 767
    qemu_register_reset(cuda_reset, s);
768 768
}
b/hw/dma.c
548 548
              high_page_enable ? 0x480 : -1, cpu_request_exit);
549 549
    dma_init2(&dma_controllers[1], 0xc0, 1, 0x88,
550 550
              high_page_enable ? 0x488 : -1, cpu_request_exit);
551
    vmstate_register (0, &vmstate_dma, &dma_controllers[0]);
552
    vmstate_register (1, &vmstate_dma, &dma_controllers[1]);
551
    vmstate_register (NULL, 0, &vmstate_dma, &dma_controllers[0]);
552
    vmstate_register (NULL, 1, &vmstate_dma, &dma_controllers[1]);
553 553

  
554 554
    dma_bh = qemu_bh_new(DMA_run_bh, NULL);
555 555
}
b/hw/eepro100.c
1834 1834
    EEPRO100State *s = DO_UPCAST(EEPRO100State, dev, pci_dev);
1835 1835

  
1836 1836
    cpu_unregister_io_memory(s->mmio_index);
1837
    vmstate_unregister(s->vmstate, s);
1837
    vmstate_unregister(&pci_dev->qdev, s->vmstate, s);
1838 1838
    eeprom93xx_free(s->eeprom);
1839 1839
    qemu_del_vlan_client(&s->nic->nc);
1840 1840
    return 0;
......
1893 1893
    s->vmstate = qemu_malloc(sizeof(vmstate_eepro100));
1894 1894
    memcpy(s->vmstate, &vmstate_eepro100, sizeof(vmstate_eepro100));
1895 1895
    s->vmstate->name = s->nic->nc.model;
1896
    vmstate_register(-1, s->vmstate, s);
1896
    vmstate_register(&pci_dev->qdev, -1, s->vmstate, s);
1897 1897

  
1898 1898
    return 0;
1899 1899
}
b/hw/eeprom93xx.c
316 316
    /* Output DO is tristate, read results in 1. */
317 317
    eeprom->eedo = 1;
318 318
    logout("eeprom = 0x%p, nwords = %u\n", eeprom, nwords);
319
    vmstate_register(0, &vmstate_eeprom, eeprom);
319
    vmstate_register(NULL, 0, &vmstate_eeprom, eeprom);
320 320
    return eeprom;
321 321
}
322 322

  
......
324 324
{
325 325
    /* Destroy EEPROM. */
326 326
    logout("eeprom = 0x%p\n", eeprom);
327
    vmstate_unregister(&vmstate_eeprom, eeprom);
327
    vmstate_unregister(NULL, &vmstate_eeprom, eeprom);
328 328
    qemu_free(eeprom);
329 329
}
330 330

  
b/hw/g364fb.c
598 598
    s->irq = irq;
599 599

  
600 600
    qemu_register_reset(g364fb_reset, s);
601
    register_savevm("g364fb", 0, 1, g364fb_save, g364fb_load, s);
601
    register_savevm(NULL, "g364fb", 0, 1, g364fb_save, g364fb_load, s);
602 602
    g364fb_reset(s);
603 603

  
604 604
    s->ds = graphic_console_init(g364fb_update_display,
b/hw/grackle_pci.c
113 113
    sysbus_init_mmio(dev, 0x1000, pci_mem_config);
114 114
    sysbus_init_mmio(dev, 0x1000, pci_mem_data);
115 115

  
116
    register_savevm("grackle", 0, 1, pci_grackle_save, pci_grackle_load,
117
                    &s->host_state);
116
    register_savevm(&dev->qdev, "grackle", 0, 1, pci_grackle_save,
117
                    pci_grackle_load, &s->host_state);
118 118
    qemu_register_reset(pci_grackle_reset, &s->host_state);
119 119
    return 0;
120 120
}
b/hw/gt64xxx.c
1146 1146

  
1147 1147
    gt64120_reset(s);
1148 1148

  
1149
    register_savevm("GT64120 PCI Bus", 0, 1, gt64120_save, gt64120_load, d);
1149
    register_savevm(&d->qdev, "GT64120 PCI Bus", 0, 1,
1150
                    gt64120_save, gt64120_load, d);
1150 1151

  
1151 1152
    return s->pci->bus;
1152 1153
}
b/hw/heathrow_pic.c
224 224
    s->irqs = irqs[0];
225 225
    *pmem_index = cpu_register_io_memory(pic_read, pic_write, s);
226 226

  
227
    register_savevm("heathrow_pic", -1, 1, heathrow_pic_save,
227
    register_savevm(NULL, "heathrow_pic", -1, 1, heathrow_pic_save,
228 228
                    heathrow_pic_load, s);
229 229
    qemu_register_reset(heathrow_pic_reset, s);
230 230
    return qemu_allocate_irqs(heathrow_pic_set_irq, s, 64);
b/hw/hw.h
245 245
                                 void *opaque);
246 246
typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);
247 247

  
248
int register_savevm(const char *idstr,
248
int register_savevm(DeviceState *dev,
249
                    const char *idstr,
249 250
                    int instance_id,
250 251
                    int version_id,
251 252
                    SaveStateHandler *save_state,
252 253
                    LoadStateHandler *load_state,
253 254
                    void *opaque);
254 255

  
255
int register_savevm_live(const char *idstr,
256
int register_savevm_live(DeviceState *dev,
257
                         const char *idstr,
256 258
                         int instance_id,
257 259
                         int version_id,
258 260
                         SaveSetParamsHandler *set_params,
......
261 263
                         LoadStateHandler *load_state,
262 264
                         void *opaque);
263 265

  
264
void unregister_savevm(const char *idstr, void *opaque);
266
void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque);
265 267

  
266 268
typedef void QEMUResetHandler(void *opaque);
267 269

  
......
765 767
                              void *opaque, int version_id);
766 768
extern void vmstate_save_state(QEMUFile *f, const VMStateDescription *vmsd,
767 769
                               void *opaque);
768
extern int vmstate_register(int instance_id, const VMStateDescription *vmsd,
769
                            void *base);
770
extern int vmstate_register_with_alias_id(int instance_id,
770
extern int vmstate_register(DeviceState *dev, int instance_id,
771
                            const VMStateDescription *vmsd, void *base);
772
extern int vmstate_register_with_alias_id(DeviceState *dev,
773
                                          int instance_id,
771 774
                                          const VMStateDescription *vmsd,
772 775
                                          void *base, int alias_id,
773 776
                                          int required_for_version);
774
void vmstate_unregister(const VMStateDescription *vmsd, void *opaque);
777
void vmstate_unregister(DeviceState *dev, const VMStateDescription *vmsd,
778
                        void *opaque);
775 779
#endif
b/hw/i2c.c
62 62
    i2c_bus *bus;
63 63

  
64 64
    bus = FROM_QBUS(i2c_bus, qbus_create(&i2c_bus_info, parent, name));
65
    vmstate_register(-1, &vmstate_i2c_bus, bus);
65
    vmstate_register(NULL, -1, &vmstate_i2c_bus, bus);
66 66
    return bus;
67 67
}
68 68

  
b/hw/i8254.c
508 508
    s->irq_timer = qemu_new_timer(vm_clock, pit_irq_timer, s);
509 509
    s->irq = irq;
510 510

  
511
    vmstate_register(base, &vmstate_pit, pit);
511
    vmstate_register(NULL, base, &vmstate_pit, pit);
512 512
    qemu_register_reset(pit_reset, pit);
513 513
    register_ioport_write(base, 4, 1, pit_ioport_write, pit);
514 514
    register_ioport_read(base, 3, 1, pit_ioport_read, pit);
b/hw/i8259.c
483 483
        register_ioport_write(elcr_addr, 1, 1, elcr_ioport_write, s);
484 484
        register_ioport_read(elcr_addr, 1, 1, elcr_ioport_read, s);
485 485
    }
486
    vmstate_register(io_addr, &vmstate_pic, s);
486
    vmstate_register(NULL, io_addr, &vmstate_pic, s);
487 487
    qemu_register_reset(pic_reset, s);
488 488
}
489 489

  
b/hw/ide/cmd646.c
263 263
    ide_init2(&d->bus[0], irq[0]);
264 264
    ide_init2(&d->bus[1], irq[1]);
265 265

  
266
    vmstate_register(0, &vmstate_ide_pci, d);
266
    vmstate_register(&dev->qdev, 0, &vmstate_ide_pci, d);
267 267
    qemu_register_reset(cmd646_reset, d);
268 268
    return 0;
269 269
}
b/hw/ide/isa.c
71 71
    ide_init_ioport(&s->bus, s->iobase, s->iobase2);
72 72
    isa_init_irq(dev, &s->irq, s->isairq);
73 73
    ide_init2(&s->bus, s->irq);
74
    vmstate_register(0, &vmstate_ide_isa, s);
74
    vmstate_register(&dev->qdev, 0, &vmstate_ide_isa, s);
75 75
    return 0;
76 76
};
77 77

  
b/hw/ide/macio.c
321 321

  
322 322
    pmac_ide_memory = cpu_register_io_memory(pmac_ide_read,
323 323
                                             pmac_ide_write, d);
324
    vmstate_register(0, &vmstate_pmac, d);
324
    vmstate_register(NULL, 0, &vmstate_pmac, d);
325 325
    qemu_register_reset(pmac_ide_reset, d);
326 326

  
327 327
    return pmac_ide_memory;
b/hw/ide/microdrive.c
545 545
    md->bus.ifs[0].mdata_size = METADATA_SIZE;
546 546
    md->bus.ifs[0].mdata_storage = (uint8_t *) qemu_mallocz(METADATA_SIZE);
547 547

  
548
    vmstate_register(-1, &vmstate_microdrive, md);
548
    vmstate_register(NULL, -1, &vmstate_microdrive, md);
549 549

  
550 550
    return &md->card;
551 551
}
b/hw/ide/mmio.c
133 133
    mem2 = cpu_register_io_memory(mmio_ide_status, mmio_ide_cmd, s);
134 134
    cpu_register_physical_memory(membase, 16 << shift, mem1);
135 135
    cpu_register_physical_memory(membase2, 2 << shift, mem2);
136
    vmstate_register(0, &vmstate_ide_mmio, s);
136
    vmstate_register(NULL, 0, &vmstate_ide_mmio, s);
137 137
    qemu_register_reset(mmio_ide_reset, s);
138 138
}
139 139

  
b/hw/ide/piix.c
128 128

  
129 129
    pci_register_bar(&d->dev, 4, 0x10, PCI_BASE_ADDRESS_SPACE_IO, bmdma_map);
130 130

  
131
    vmstate_register(0, &vmstate_ide_pci, d);
131
    vmstate_register(&d->dev.qdev, 0, &vmstate_ide_pci, d);
132 132

  
133 133
    ide_bus_new(&d->bus[0], &d->dev.qdev);
134 134
    ide_bus_new(&d->bus[1], &d->dev.qdev);
b/hw/m48t59.c
694 694
    }
695 695
    qemu_get_timedate(&s->alarm, 0);
696 696

  
697
    register_savevm("m48t59", -1, 1, m48t59_save, m48t59_load, s);
697
    register_savevm(NULL, "m48t59", -1, 1, m48t59_save, m48t59_load, s);
698 698
}
699 699

  
700 700
static int m48t59_init_isa1(ISADevice *dev)
b/hw/mac_dbdma.c
845 845
    s = qemu_mallocz(sizeof(DBDMA_channel) * DBDMA_CHANNELS);
846 846

  
847 847
    *dbdma_mem_index = cpu_register_io_memory(dbdma_read, dbdma_write, s);
848
    register_savevm("dbdma", -1, 1, dbdma_save, dbdma_load, s);
848
    register_savevm(NULL, "dbdma", -1, 1, dbdma_save, dbdma_load, s);
849 849
    qemu_register_reset(dbdma_reset, s);
850 850

  
851 851
    dbdma_bh = qemu_bh_new(DBDMA_run_bh, s);
b/hw/mac_nvram.c
140 140

  
141 141
    s->mem_index = cpu_register_io_memory(nvram_read, nvram_write, s);
142 142
    *mem_index = s->mem_index;
143
    register_savevm("macio_nvram", -1, 1, macio_nvram_save, macio_nvram_load,
144
                    s);
143
    register_savevm(NULL, "macio_nvram", -1, 1, macio_nvram_save,
144
                    macio_nvram_load, s);
145 145
    qemu_register_reset(macio_nvram_reset, s);
146 146

  
147 147
    return s;
b/hw/max111x.c
143 143
    s->input[7] = 0x80;
144 144
    s->com = 0;
145 145

  
146
    register_savevm("max111x", -1, 0, max111x_save, max111x_load, s);
146
    register_savevm(&dev->qdev, "max111x", -1, 0,
147
                    max111x_save, max111x_load, s);
147 148
    return 0;
148 149
}
149 150

  
b/hw/mips_fulong2e.c
282 282
        exit(1);
283 283
    }
284 284

  
285
    register_savevm("cpu", 0, 3, cpu_save, cpu_load, env);
285
    register_savevm(NULL, "cpu", 0, 3, cpu_save, cpu_load, env);
286 286
    qemu_register_reset(main_cpu_reset, env);
287 287

  
288 288
    /* fulong 2e has 256M ram. */
b/hw/mipsnet.c
239 239
{
240 240
    MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
241 241

  
242
    unregister_savevm("mipsnet", s);
242
    unregister_savevm(NULL, "mipsnet", s);
243 243

  
244 244
    isa_unassign_ioport(s->io_base, 36);
245 245

  
......
284 284
    }
285 285

  
286 286
    mipsnet_reset(s);
287
    register_savevm("mipsnet", 0, 0, mipsnet_save, mipsnet_load, s);
287
    register_savevm(NULL, "mipsnet", 0, 0, mipsnet_save, mipsnet_load, s);
288 288
}
b/hw/mst_fpga.c
234 234
	iomemtype = cpu_register_io_memory(mst_fpga_readfn,
235 235
		mst_fpga_writefn, s);
236 236
	cpu_register_physical_memory(base, 0x00100000, iomemtype);
237
	register_savevm("mainstone_fpga", 0, 0, mst_fpga_save, mst_fpga_load, s);
237
	register_savevm(NULL, "mainstone_fpga", 0, 0, mst_fpga_save,
238
                        mst_fpga_load, s);
238 239
	return qi;
239 240
}
b/hw/nand.c
502 502
       is used.  */
503 503
    s->ioaddr = s->io;
504 504

  
505
    register_savevm("nand", -1, 0, nand_save, nand_load, s);
505
    register_savevm(NULL, "nand", -1, 0, nand_save, nand_load, s);
506 506

  
507 507
    return s;
508 508
}
b/hw/openpic.c
1234 1234
    opp->irq_out = irq_out;
1235 1235
    opp->need_swap = 1;
1236 1236

  
1237
    register_savevm("openpic", 0, 2, openpic_save, openpic_load, opp);
1237
    register_savevm(&opp->pci_dev.qdev, "openpic", 0, 2,
1238
                    openpic_save, openpic_load, opp);
1238 1239
    qemu_register_reset(openpic_reset, opp);
1239 1240

  
1240 1241
    opp->irq_raise = openpic_irq_raise;
......
1692 1693
    mpp->irq_raise = mpic_irq_raise;
1693 1694
    mpp->reset = mpic_reset;
1694 1695

  
1695
    register_savevm("mpic", 0, 2, openpic_save, openpic_load, mpp);
1696
    register_savevm(NULL, "mpic", 0, 2, openpic_save, openpic_load, mpp);
1696 1697
    qemu_register_reset(mpic_reset, mpp);
1697 1698

  
1698 1699
    return qemu_allocate_irqs(openpic_set_irq, mpp, mpp->max_irq);
b/hw/pci.c
232 232
    QLIST_INIT(&bus->child);
233 233
    pci_host_bus_register(0, bus); /* for now only pci domain 0 is supported */
234 234

  
235
    vmstate_register(-1, &vmstate_pcibus, bus);
235
    vmstate_register(NULL, -1, &vmstate_pcibus, bus);
236 236
    qemu_register_reset(pci_bus_reset, bus);
237 237
}
238 238

  
b/hw/pckbd.c
418 418
    s->irq_mouse = mouse_irq;
419 419
    s->mask = mask;
420 420

  
421
    vmstate_register(0, &vmstate_kbd, s);
421
    vmstate_register(NULL, 0, &vmstate_kbd, s);
422 422
    s_io_memory = cpu_register_io_memory(kbd_mm_read, kbd_mm_write, s);
423 423
    cpu_register_physical_memory(base, size, s_io_memory);
424 424

  
b/hw/piix4.c
87 87
    uint8_t *pci_conf;
88 88

  
89 89
    isa_bus_new(&d->qdev);
90
    register_savevm("PIIX4", 0, 2, piix_save, piix_load, d);
90
    register_savevm(&d->qdev, "PIIX4", 0, 2, piix_save, piix_load, d);
91 91

  
92 92
    pci_conf = d->config;
93 93
    pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
b/hw/pl011.c
306 306
        qemu_chr_add_handlers(s->chr, pl011_can_receive, pl011_receive,
307 307
                              pl011_event, s);
308 308
    }
309
    register_savevm("pl011_uart", -1, 1, pl011_save, pl011_load, s);
309
    register_savevm(&dev->qdev, "pl011_uart", -1, 1, pl011_save, pl011_load, s);
310 310
    return 0;
311 311
}
312 312

  
b/hw/pl022.c
299 299
    sysbus_init_irq(dev, &s->irq);
300 300
    s->ssi = ssi_create_bus(&dev->qdev, "ssi");
301 301
    pl022_reset(s);
302
    register_savevm("pl022_ssp", -1, 1, pl022_save, pl022_load, s);
302
    register_savevm(&dev->qdev, "pl022_ssp", -1, 1, pl022_save, pl022_load, s);
303 303
    return 0;
304 304
}
305 305

  
b/hw/pl061.c
303 303
    qdev_init_gpio_in(&dev->qdev, pl061_set_irq, 8);
304 304
    qdev_init_gpio_out(&dev->qdev, s->out, 8);
305 305
    pl061_reset(s);
306
    register_savevm("pl061_gpio", -1, 1, pl061_save, pl061_load, s);
306
    register_savevm(&dev->qdev, "pl061_gpio", -1, 1, pl061_save, pl061_load, s);
307 307
    return 0;
308 308
}
309 309

  
b/hw/ppc4xx_pci.c
392 392
    qemu_register_reset(ppc4xx_pci_reset, controller);
393 393

  
394 394
    /* XXX load/save code not tested. */
395
    register_savevm("ppc4xx_pci", ppc4xx_pci_id++, 1,
396
                    ppc4xx_pci_save, ppc4xx_pci_load, controller);
395
    register_savevm(&controller->pci_dev->qdev, "ppc4xx_pci", ppc4xx_pci_id++,
396
                    1, ppc4xx_pci_save, ppc4xx_pci_load, controller);
397 397

  
398 398
    return controller->pci_state.bus;
399 399

  
b/hw/ppce500_pci.c
310 310
                                   PCIE500_REG_SIZE, index);
311 311

  
312 312
    /* XXX load/save code not tested. */
313
    register_savevm("ppce500_pci", ppce500_pci_id++, 1,
314
                    ppce500_pci_save, ppce500_pci_load, controller);
313
    register_savevm(&d->qdev, "ppce500_pci", ppce500_pci_id++,
314
                    1, ppce500_pci_save, ppce500_pci_load, controller);
315 315

  
316 316
    return controller->pci_state.bus;
317 317

  
b/hw/ps2.c
595 595
    s->common.update_irq = update_irq;
596 596
    s->common.update_arg = update_arg;
597 597
    s->scancode_set = 2;
598
    vmstate_register(0, &vmstate_ps2_keyboard, s);
598
    vmstate_register(NULL, 0, &vmstate_ps2_keyboard, s);
599 599
    qemu_add_kbd_event_handler(ps2_put_keycode, s);
600 600
    qemu_register_reset(ps2_kbd_reset, s);
601 601
    return s;
......
607 607

  
608 608
    s->common.update_irq = update_irq;
609 609
    s->common.update_arg = update_arg;
610
    vmstate_register(0, &vmstate_ps2_mouse, s);
610
    vmstate_register(NULL, 0, &vmstate_ps2_mouse, s);
611 611
    qemu_add_mouse_event_handler(ps2_mouse_event, s, 0, "QEMU PS/2 Mouse");
612 612
    qemu_register_reset(ps2_mouse_reset, s);
613 613
    return s;
b/hw/pxa2xx.c
860 860
    iomemtype = cpu_register_io_memory(pxa2xx_ssp_readfn,
861 861
                                       pxa2xx_ssp_writefn, s);
862 862
    sysbus_init_mmio(dev, 0x1000, iomemtype);
863
    register_savevm("pxa2xx_ssp", -1, 0,
863
    register_savevm(&dev->qdev, "pxa2xx_ssp", -1, 0,
864 864
                    pxa2xx_ssp_save, pxa2xx_ssp_load, s);
865 865

  
866 866
    s->bus = ssi_create_bus(&dev->qdev, "ssi");
......
1515 1515
    cpu_register_physical_memory(base & ~region_size,
1516 1516
                    region_size + 1, iomemtype);
1517 1517

  
1518
    vmstate_register(base, &vmstate_pxa2xx_i2c, s);
1518
    vmstate_register(NULL, base, &vmstate_pxa2xx_i2c, s);
1519 1519

  
1520 1520
    return s;
1521 1521
}
......
1751 1751
                    pxa2xx_i2s_writefn, s);
1752 1752
    cpu_register_physical_memory(base, 0x100000, iomemtype);
1753 1753

  
1754
    register_savevm("pxa2xx_i2s", base, 0,
1754
    register_savevm(NULL, "pxa2xx_i2s", base, 0,
1755 1755
                    pxa2xx_i2s_save, pxa2xx_i2s_load, s);
1756 1756

  
1757 1757
    return s;
......
2014 2014
        qemu_chr_add_handlers(chr, pxa2xx_fir_is_empty,
2015 2015
                        pxa2xx_fir_rx, pxa2xx_fir_event, s);
2016 2016

  
2017
    register_savevm("pxa2xx_fir", 0, 0, pxa2xx_fir_save, pxa2xx_fir_load, s);
2017
    register_savevm(NULL, "pxa2xx_fir", 0, 0, pxa2xx_fir_save,
2018
                    pxa2xx_fir_load, s);
2018 2019

  
2019 2020
    return s;
2020 2021
}
......
2099 2100
    iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,
2100 2101
                    pxa2xx_cm_writefn, s);
2101 2102
    cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);
2102
    register_savevm("pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
2103
    register_savevm(NULL, "pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
2103 2104

  
2104 2105
    cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);
2105 2106

  
......
2110 2111
    iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,
2111 2112
                    pxa2xx_mm_writefn, s);
2112 2113
    cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);
2113
    register_savevm("pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
2114
    register_savevm(NULL, "pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
2114 2115

  
2115 2116
    s->pm_base = 0x40f00000;
2116 2117
    iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,
2117 2118
                    pxa2xx_pm_writefn, s);
2118 2119
    cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);
2119
    register_savevm("pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
2120
    register_savevm(NULL, "pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
2120 2121

  
2121 2122
    for (i = 0; pxa27x_ssp[i].io_base; i ++);
2122 2123
    s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);
......
2140 2141
                    pxa2xx_rtc_writefn, s);
2141 2142
    cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);
2142 2143
    pxa2xx_rtc_init(s);
2143
    register_savevm("pxa2xx_rtc", 0, 0, pxa2xx_rtc_save, pxa2xx_rtc_load, s);
2144
    register_savevm(NULL, "pxa2xx_rtc", 0, 0, pxa2xx_rtc_save,
2145
                    pxa2xx_rtc_load, s);
2144 2146

  
2145 2147
    s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);
2146 2148
    s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);
......
2219 2221
    iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,
2220 2222
                    pxa2xx_cm_writefn, s);
2221 2223
    cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);
2222
    register_savevm("pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
2224
    register_savevm(NULL, "pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
2223 2225

  
2224 2226
    cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);
2225 2227

  
......
2230 2232
    iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,
2231 2233
                    pxa2xx_mm_writefn, s);
2232 2234
    cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);
2233
    register_savevm("pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
2235
    register_savevm(NULL, "pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
2234 2236

  
2235 2237
    s->pm_base = 0x40f00000;
2236 2238
    iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,
2237 2239
                    pxa2xx_pm_writefn, s);
2238 2240
    cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);
2239
    register_savevm("pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
2241
    register_savevm(NULL, "pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
2240 2242

  
2241 2243
    for (i = 0; pxa255_ssp[i].io_base; i ++);
2242 2244
    s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);
......
2260 2262
                    pxa2xx_rtc_writefn, s);
2261 2263
    cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);
2262 2264
    pxa2xx_rtc_init(s);
2263
    register_savevm("pxa2xx_rtc", 0, 0, pxa2xx_rtc_save, pxa2xx_rtc_load, s);
2265
    register_savevm(NULL, "pxa2xx_rtc", 0, 0, pxa2xx_rtc_save,
2266
                    pxa2xx_rtc_load, s);
2264 2267

  
2265 2268
    s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);
2266 2269
    s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);
b/hw/pxa2xx_dma.c
507 507
                    pxa2xx_dma_writefn, s);
508 508
    cpu_register_physical_memory(base, 0x00010000, iomemtype);
509 509

  
510
    register_savevm("pxa2xx_dma", 0, 0, pxa2xx_dma_save, pxa2xx_dma_load, s);
510
    register_savevm(NULL, "pxa2xx_dma", 0, 0, pxa2xx_dma_save, pxa2xx_dma_load, s);
511 511

  
512 512
    return s;
513 513
}
b/hw/pxa2xx_gpio.c
312 312
                    pxa2xx_gpio_writefn, s);
313 313
    cpu_register_physical_memory(base, 0x00001000, iomemtype);
314 314

  
315
    register_savevm("pxa2xx_gpio", 0, 0,
315
    register_savevm(NULL, "pxa2xx_gpio", 0, 0,
316 316
                    pxa2xx_gpio_save, pxa2xx_gpio_load, s);
317 317

  
318 318
    return s;
b/hw/pxa2xx_keypad.c
317 317
                    pxa2xx_keypad_writefn, s);
318 318
    cpu_register_physical_memory(base, 0x00100000, iomemtype);
319 319

  
320
    register_savevm("pxa2xx_keypad", 0, 0,
320
    register_savevm(NULL, "pxa2xx_keypad", 0, 0,
321 321
                    pxa2xx_keypad_save, pxa2xx_keypad_load, s);
322 322

  
323 323
    return s;
b/hw/pxa2xx_lcd.c
970 970
        exit(1);
971 971
    }
972 972

  
973
    register_savevm("pxa2xx_lcdc", 0, 0,
973
    register_savevm(NULL, "pxa2xx_lcdc", 0, 0,
974 974
                    pxa2xx_lcdc_save, pxa2xx_lcdc_load, s);
975 975

  
976 976
    return s;
b/hw/pxa2xx_mmci.c
534 534
    /* Instantiate the actual storage */
535 535
    s->card = sd_init(bd, 0);
536 536

  
537
    register_savevm("pxa2xx_mmci", 0, 0,
537
    register_savevm(NULL, "pxa2xx_mmci", 0, 0,
538 538
                    pxa2xx_mmci_save, pxa2xx_mmci_load, s);
539 539

  
540 540
    return s;
b/hw/pxa2xx_pic.c
306 306
    /* Enable IC coprocessor access.  */
307 307
    cpu_arm_set_cp_io(env, 6, pxa2xx_pic_cp_read, pxa2xx_pic_cp_write, s);
308 308

  
309
    register_savevm("pxa2xx_pic", 0, 0, pxa2xx_pic_save, pxa2xx_pic_load, s);
309
    register_savevm(NULL, "pxa2xx_pic", 0, 0, pxa2xx_pic_save,
310
                    pxa2xx_pic_load, s);
310 311

  
311 312
    return qi;
312 313
}
b/hw/pxa2xx_timer.c
455 455
                    pxa2xx_timer_writefn, s);
456 456
    cpu_register_physical_memory(base, 0x00001000, iomemtype);
457 457

  
458
    register_savevm("pxa2xx_timer", 0, 0,
458
    register_savevm(NULL, "pxa2xx_timer", 0, 0,
459 459
                    pxa2xx_timer_save, pxa2xx_timer_load, s);
460 460

  
461 461
    return s;
b/hw/qdev.c
280 280
    }
281 281
    qemu_register_reset(qdev_reset, dev);
282 282
    if (dev->info->vmsd) {
283
        vmstate_register_with_alias_id(-1, dev->info->vmsd, dev,
283
        vmstate_register_with_alias_id(dev, -1, dev->info->vmsd, dev,
284 284
                                       dev->instance_id_alias,
285 285
                                       dev->alias_required_for_version);
286 286
    }
......
342 342
            qbus_free(bus);
343 343
        }
344 344
        if (dev->info->vmsd)
345
            vmstate_unregister(dev->info->vmsd, dev);
345
            vmstate_unregister(dev, dev->info->vmsd, dev);
346 346
        if (dev->info->exit)
347 347
            dev->info->exit(dev);
348 348
        if (dev->opts)
b/hw/rc4030.c
813 813
    s->jazz_bus_irq = jazz_bus;
814 814

  
815 815
    qemu_register_reset(rc4030_reset, s);
816
    register_savevm("rc4030", 0, 2, rc4030_save, rc4030_load, s);
816
    register_savevm(NULL, "rc4030", 0, 2, rc4030_save, rc4030_load, s);
817 817
    rc4030_reset(s);
818 818

  
819 819
    s_chipset = cpu_register_io_memory(rc4030_read, rc4030_write, s);
b/hw/serial.c
813 813
    s->chr = chr;
814 814
    serial_init_core(s);
815 815

  
816
    vmstate_register(base, &vmstate_serial, s);
816
    vmstate_register(NULL, base, &vmstate_serial, s);
817 817

  
818 818
    register_ioport_write(base, 8, 1, serial_ioport_write, s);
819 819
    register_ioport_read(base, 8, 1, serial_ioport_read, s);
......
948 948
    s->chr = chr;
949 949

  
950 950
    serial_init_core(s);
951
    vmstate_register(base, &vmstate_serial, s);
951
    vmstate_register(NULL, base, &vmstate_serial, s);
952 952

  
953 953
    if (ioregister) {
954 954
        if (be) {
b/hw/spitz.c
178 178
                    sl_writefn, s);
179 179
    cpu_register_physical_memory(FLASH_BASE, 0x40, iomemtype);
180 180

  
181
    register_savevm("sl_flash", 0, 0, sl_save, sl_load, s);
181
    register_savevm(NULL, "sl_flash", 0, 0, sl_save, sl_load, s);
182 182
}
183 183

  
184 184
/* Spitz Keyboard */
......
508 508
    spitz_keyboard_pre_map(s);
509 509
    qemu_add_kbd_event_handler((QEMUPutKBDEvent *) spitz_keyboard_handler, s);
510 510

  
511
    register_savevm("spitz_keyboard", 0, 0,
511
    register_savevm(NULL, "spitz_keyboard", 0, 0,
512 512
                    spitz_keyboard_save, spitz_keyboard_load, s);
513 513
}
514 514

  
......
613 613
    s->bl_power = 0;
614 614
    s->bl_intensity = 0x20;
615 615

  
616
    register_savevm("spitz-lcdtg", -1, 1,
616
    register_savevm(&dev->qdev, "spitz-lcdtg", -1, 1,
617 617
                    spitz_lcdtg_save, spitz_lcdtg_load, s);
618 618
    return 0;
619 619
}
......
708 708
    s->bus[1] = ssi_create_bus(&dev->qdev, "ssi1");
709 709
    s->bus[2] = ssi_create_bus(&dev->qdev, "ssi2");
710 710

  
711
    register_savevm("spitz_ssp", -1, 1, spitz_ssp_save, spitz_ssp_load, s);
711
    register_savevm(&dev->qdev, "spitz_ssp", -1, 1,
712
                    spitz_ssp_save, spitz_ssp_load, s);
712 713
    return 0;
713 714
}
714 715

  
b/hw/ssd0323.c
335 335

  
336 336
    qdev_init_gpio_in(&dev->qdev, ssd0323_cd, 1);
337 337

  
338
    register_savevm("ssd0323_oled", -1, 1, ssd0323_save, ssd0323_load, s);
338
    register_savevm(&dev->qdev, "ssd0323_oled", -1, 1,
339
                    ssd0323_save, ssd0323_load, s);
339 340
    return 0;
340 341
}
341 342

  
b/hw/ssi-sd.c
236 236
    s->mode = SSI_SD_CMD;
237 237
    bs = qdev_init_bdrv(&dev->qdev, IF_SD);
238 238
    s->sd = sd_init(bs, 1);
239
    register_savevm("ssi_sd", -1, 1, ssi_sd_save, ssi_sd_load, s);
239
    register_savevm(&dev->qdev, "ssi_sd", -1, 1, ssi_sd_save, ssi_sd_load, s);
240 240
    return 0;
241 241
}
242 242

  
b/hw/stellaris.c
354 354
    s->opaque[0] = s->opaque[1] = s;
355 355
    s->timer[0] = qemu_new_timer(vm_clock, gptm_tick, &s->opaque[0]);
356 356
    s->timer[1] = qemu_new_timer(vm_clock, gptm_tick, &s->opaque[1]);
357
    register_savevm("stellaris_gptm", -1, 1, gptm_save, gptm_load, s);
357
    register_savevm(&dev->qdev, "stellaris_gptm", -1, 1,
358
                    gptm_save, gptm_load, s);
358 359
    return 0;
359 360
}
360 361

  
......
673 674
                                       ssys_writefn, s);
674 675
    cpu_register_physical_memory(base, 0x00001000, iomemtype);
675 676
    ssys_reset(s);
676
    register_savevm("stellaris_sys", -1, 1, ssys_save, ssys_load, s);
677
    register_savevm(NULL, "stellaris_sys", -1, 1, ssys_save, ssys_load, s);
677 678
    return 0;
678 679
}
679 680

  
......
887 888
    sysbus_init_mmio(dev, 0x1000, iomemtype);
888 889
    /* ??? For now we only implement the master interface.  */
889 890
    stellaris_i2c_reset(s);
890
    register_savevm("stellaris_i2c", -1, 1,
891
    register_savevm(&dev->qdev, "stellaris_i2c", -1, 1,
891 892
                    stellaris_i2c_save, stellaris_i2c_load, s);
892 893
    return 0;
893 894
}
......
1196 1197
    sysbus_init_mmio(dev, 0x1000, iomemtype);
1197 1198
    stellaris_adc_reset(s);
1198 1199
    qdev_init_gpio_in(&dev->qdev, stellaris_adc_trigger, 1);
1199
    register_savevm("stellaris_adc", -1, 1,
1200
    register_savevm(&dev->qdev, "stellaris_adc", -1, 1,
1200 1201
                    stellaris_adc_save, stellaris_adc_load, s);
1201 1202
    return 0;
1202 1203
}
......
1256 1257
    s->bus[1] = ssi_create_bus(&dev->qdev, "ssi1");
1257 1258
    qdev_init_gpio_in(&dev->qdev, stellaris_ssi_bus_select, 1);
1258 1259

  
1259
    register_savevm("stellaris_ssi_bus", -1, 1,
1260
    register_savevm(&dev->qdev, "stellaris_ssi_bus", -1, 1,
1260 1261
                    stellaris_ssi_bus_save, stellaris_ssi_bus_load, s);
1261 1262
    return 0;
1262 1263
}
b/hw/stellaris_enet.c
389 389
{
390 390
    stellaris_enet_state *s = DO_UPCAST(NICState, nc, nc)->opaque;
391 391

  
392
    unregister_savevm("stellaris_enet", s);
392
    unregister_savevm(&s->busdev.qdev, "stellaris_enet", s);
393 393

  
394 394
    cpu_unregister_io_memory(s->mmio_index);
395 395

  
......
419 419
    qemu_format_nic_info_str(&s->nic->nc, s->conf.macaddr.a);
420 420

  
421 421
    stellaris_enet_reset(s);
422
    register_savevm("stellaris_enet", -1, 1,
422
    register_savevm(&s->busdev.qdev, "stellaris_enet", -1, 1,
423 423
                    stellaris_enet_save, stellaris_enet_load, s);
424 424
    return 0;
425 425
}
b/hw/stellaris_input.c
86 86
    }
87 87
    s->num_buttons = n;
88 88
    qemu_add_kbd_event_handler(stellaris_gamepad_put_key, s);
89
    register_savevm("stellaris_gamepad", -1, 1,
89
    register_savevm(NULL, "stellaris_gamepad", -1, 1,
90 90
                    stellaris_gamepad_save, stellaris_gamepad_load, s);
91 91
}
b/hw/syborg_fb.c
526 526
    if (!s->rows)
527 527
        s->rows = ds_get_height(s->ds);
528 528

  
529
    register_savevm("syborg_framebuffer", -1, 1,
529
    register_savevm(&dev->qdev, "syborg_framebuffer", -1, 1,
530 530
                    syborg_fb_save, syborg_fb_load, s);
531 531
    return 0;
532 532
}
b/hw/syborg_interrupt.c
214 214
    sysbus_init_mmio(dev, 0x1000, iomemtype);
215 215
    s->flags = qemu_mallocz(s->num_irqs * sizeof(syborg_int_flags));
216 216

  
217
    register_savevm("syborg_int", -1, 1, syborg_int_save, syborg_int_load, s);
217
    register_savevm(&dev->qdev, "syborg_int", -1, 1, syborg_int_save,
218
                    syborg_int_load, s);
218 219
    return 0;
219 220
}
220 221

  
b/hw/syborg_keyboard.c
220 220

  
221 221
    qemu_add_kbd_event_handler(syborg_keyboard_event, s);
222 222

  
223
    register_savevm("syborg_keyboard", -1, 1,
223
    register_savevm(&dev->qdev, "syborg_keyboard", -1, 1,
224 224
                    syborg_keyboard_save, syborg_keyboard_load, s);
225 225
    return 0;
226 226
}
b/hw/syborg_pointer.c
218 218
    qemu_add_mouse_event_handler(syborg_pointer_event, s, s->absolute,
219 219
                                 "Syborg Pointer");
220 220

  
221
    register_savevm("syborg_pointer", -1, 1,
221
    register_savevm(&dev->qdev, "syborg_pointer", -1, 1,
222 222
                    syborg_pointer_save, syborg_pointer_load, s);
223 223
    return 0;
224 224
}
b/hw/syborg_rtc.c
136 136
    qemu_get_timedate(&tm, 0);
137 137
    s->offset = (uint64_t)mktime(&tm) * 1000000000;
138 138

  
139
    register_savevm("syborg_rtc", -1, 1, syborg_rtc_save, syborg_rtc_load, s);
139
    register_savevm(&dev->qdev, "syborg_rtc", -1, 1,
140
                    syborg_rtc_save, syborg_rtc_load, s);
140 141
    return 0;
141 142
}
142 143

  
b/hw/syborg_serial.c
335 335
    }
336 336
    s->read_fifo = qemu_mallocz(s->fifo_size * sizeof(s->read_fifo[0]));
337 337

  
338
    register_savevm("syborg_serial", -1, 1,
338
    register_savevm(&dev->qdev, "syborg_serial", -1, 1,
339 339
                    syborg_serial_save, syborg_serial_load, s);
340 340
    return 0;
341 341
}
b/hw/syborg_timer.c
221 221
    bh = qemu_bh_new(syborg_timer_tick, s);
222 222
    s->timer = ptimer_init(bh);
223 223
    ptimer_set_freq(s->timer, s->freq);
224
    register_savevm("syborg_timer", -1, 1,
224
    register_savevm(&dev->qdev, "syborg_timer", -1, 1,
225 225
                    syborg_timer_save, syborg_timer_load, s);
226 226
    return 0;
227 227
}
b/hw/tsc2005.c
548 548
                    "QEMU TSC2005-driven Touchscreen");
549 549

  
550 550
    qemu_register_reset((void *) tsc2005_reset, s);
551
    register_savevm("tsc2005", -1, 0, tsc2005_save, tsc2005_load, s);
551
    register_savevm(NULL, "tsc2005", -1, 0, tsc2005_save, tsc2005_load, s);
552 552

  
553 553
    return s;
554 554
}
b/hw/tsc210x.c
1143 1143
    AUD_register_card(s->name, &s->card);
1144 1144

  
1145 1145
    qemu_register_reset((void *) tsc210x_reset, s);
1146
    register_savevm(s->name, -1, 0,
1146
    register_savevm(NULL, s->name, -1, 0,
1147 1147
                    tsc210x_save, tsc210x_load, s);
1148 1148

  
1149 1149
    return &s->chip;
......
1194 1194
    AUD_register_card(s->name, &s->card);
1195 1195

  
1196 1196
    qemu_register_reset((void *) tsc210x_reset, s);
1197
    register_savevm(s->name, -1, 0, tsc210x_save, tsc210x_load, s);
1197
    register_savevm(NULL, s->name, -1, 0, tsc210x_save, tsc210x_load, s);
1198 1198

  
1199 1199
    return &s->chip;
1200 1200
}
b/hw/unin_pci.c
158 158
    sysbus_init_mmio(dev, 0x1000, pci_mem_config);
159 159
    sysbus_init_mmio(dev, 0x1000, pci_mem_data);
160 160

  
161
    register_savevm("uninorth", 0, 1, pci_unin_save, pci_unin_load, &s->host_state);
161
    register_savevm(&dev->qdev, "uninorth", 0, 1,
162
                    pci_unin_save, pci_unin_load, &s->host_state);
162 163
    qemu_register_reset(pci_unin_reset, &s->host_state);
163 164
    return 0;
164 165
}
......
178 179
    sysbus_init_mmio(dev, 0x1000, pci_mem_config);
179 180
    sysbus_init_mmio(dev, 0x1000, pci_mem_data);
180 181

  
181
    register_savevm("uninorth", 0, 1, pci_unin_save, pci_unin_load, &s->host_state);
182
    register_savevm(&dev->qdev, "uninorth", 0, 1,
183
                    pci_unin_save, pci_unin_load, &s->host_state);
182 184
    qemu_register_reset(pci_unin_reset, &s->host_state);
183 185

  
184 186
    return 0;
b/hw/vga-isa-mm.c
100 100
    s_ioport_ctrl = cpu_register_io_memory(vga_mm_read_ctrl, vga_mm_write_ctrl, s);
101 101
    vga_io_memory = cpu_register_io_memory(vga_mem_read, vga_mem_write, s);
102 102

  
103
    vmstate_register(0, &vmstate_vga_common, s);
103
    vmstate_register(NULL, 0, &vmstate_vga_common, s);
104 104

  
105 105
    cpu_register_physical_memory(ctrl_base, 0x100000, s_ioport_ctrl);
106 106
    s->vga.bank_offset = 0;
b/hw/vga-isa.c
37 37

  
38 38
    vga_common_init(s, VGA_RAM_SIZE);
39 39
    vga_init(s);
40
    vmstate_register(0, &vmstate_vga_common, s);
40
    vmstate_register(NULL, 0, &vmstate_vga_common, s);
41 41

  
42 42
    s->ds = graphic_console_init(s->update, s->invalidate,
43 43
                                 s->screen_dump, s->text_update, s);
b/hw/virtio-balloon.c
270 270
    reset_stats(s);
271 271
    qemu_add_balloon_handler(virtio_balloon_to_target, s);
272 272

  
273
    register_savevm("virtio-balloon", -1, 1, virtio_balloon_save, virtio_balloon_load, s);
273
    register_savevm(dev, "virtio-balloon", -1, 1,
274
                    virtio_balloon_save, virtio_balloon_load, s);
274 275

  
275 276
    return &s->vdev;
276 277
}
b/hw/virtio-blk.c
498 498
    s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output);
499 499

  
500 500
    qemu_add_vm_change_state_handler(virtio_blk_dma_restart_cb, s);
501
    register_savevm("virtio-blk", virtio_blk_id++, 2,
501
    register_savevm(dev, "virtio-blk", virtio_blk_id++, 2,
502 502
                    virtio_blk_save, virtio_blk_load, s);
503 503
    bdrv_set_removable(s->bs, 0);
504 504

  
b/hw/virtio-net.c
923 923

  
924 924
    n->vlans = qemu_mallocz(MAX_VLAN >> 3);
925 925

  
926
    register_savevm("virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION,
926
    register_savevm(NULL, "virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION,
927 927
                    virtio_net_save, virtio_net_load, n);
928 928
    n->vmstate = qemu_add_vm_change_state_handler(virtio_net_vmstate_change, n);
929 929

  
......
941 941

  
942 942
    qemu_purge_queued_packets(&n->nic->nc);
943 943

  
944
    unregister_savevm("virtio-net", n);
944
    unregister_savevm(NULL, "virtio-net", n);
945 945

  
946 946
    qemu_free(n->mac_table.macs);
947 947
    qemu_free(n->vlans);
b/hw/virtio-serial-bus.c
784 784
     * Register for the savevm section with the virtio-console name
785 785
     * to preserve backward compat
786 786
     */
787
    register_savevm("virtio-console", -1, 2, virtio_serial_save,
787
    register_savevm(dev, "virtio-console", -1, 2, virtio_serial_save,
788 788
                    virtio_serial_load, vser);
789 789

  
790 790
    return vdev;
b/hw/vmmouse.c
274 274
    vmport_register(VMMOUSE_STATUS, vmmouse_ioport_read, s);
275 275
    vmport_register(VMMOUSE_COMMAND, vmmouse_ioport_read, s);
276 276
    vmport_register(VMMOUSE_DATA, vmmouse_ioport_read, s);
277
    vmstate_register(0, &vmstate_vmmouse, s);
277
    vmstate_register(NULL, 0, &vmstate_vmmouse, s);
278 278

  
279 279
    return s;
280 280
}
b/hw/vmware_vga.c
1169 1169

  
1170 1170
    vga_common_init(&s->vga, vga_ram_size);
1171 1171
    vga_init(&s->vga);
1172
    vmstate_register(0, &vmstate_vga_common, &s->vga);
1172
    vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
1173 1173

  
1174 1174
    vga_init_vbe(&s->vga);
1175 1175

  
b/hw/zaurus.c
230 230
    iomemtype = cpu_register_io_memory(scoop_readfn,
231 231
                    scoop_writefn, s);
232 232
    cpu_register_physical_memory(target_base, 0x1000, iomemtype);
233
    register_savevm("scoop", instance, 1, scoop_save, scoop_load, s);
233
    register_savevm(NULL, "scoop", instance, 1, scoop_save, scoop_load, s);
234 234

  
235 235
    return s;
236 236
}
b/qemu-timer.c
662 662

  
663 663
void configure_icount(const char *option)
664 664
{
665
    vmstate_register(0, &vmstate_timers, &timers_state);
665
    vmstate_register(NULL, 0, &vmstate_timers, &timers_state);
666 666
    if (!option)
667 667
        return;
668 668

  
b/savevm.c
1023 1023
   of the system, so instance_id should be removed/replaced.
1024 1024
   Meanwhile pass -1 as instance_id if you do not already have a clearly
1025 1025
   distinguishing id for all instances of your device class. */
1026
int register_savevm_live(const char *idstr,
1026
int register_savevm_live(DeviceState *dev,
1027
                         const char *idstr,
1027 1028
                         int instance_id,
1028 1029
                         int version_id,
1029 1030
                         SaveSetParamsHandler *set_params,
......
1055 1056
    return 0;
1056 1057
}
1057 1058

  
1058
int register_savevm(const char *idstr,
1059
int register_savevm(DeviceState *dev,
1060
                    const char *idstr,
1059 1061
                    int instance_id,
1060 1062
                    int version_id,
1061 1063
                    SaveStateHandler *save_state,
1062 1064
                    LoadStateHandler *load_state,
1063 1065
                    void *opaque)
1064 1066
{
1065
    return register_savevm_live(idstr, instance_id, version_id,
1067
    return register_savevm_live(dev, idstr, instance_id, version_id,
1066 1068
                                NULL, NULL, save_state, load_state, opaque);
1067 1069
}
1068 1070

  
1069
void unregister_savevm(const char *idstr, void *opaque)
1071
void unregister_savevm(DeviceState *dev, const char *idstr, void *opaque)
1070 1072
{
1071 1073
    SaveStateEntry *se, *new_se;
1072 1074

  
......
1078 1080
    }
1079 1081
}
1080 1082

  
1081
int vmstate_register_with_alias_id(int instance_id,
1083
int vmstate_register_with_alias_id(DeviceState *dev, int instance_id,
1082 1084
                                   const VMStateDescription *vmsd,
1083 1085
                                   void *opaque, int alias_id,
1084 1086
                                   int required_for_version)
......
1109 1111
    return 0;
1110 1112
}
1111 1113

  
1112
int vmstate_register(int instance_id, const VMStateDescription *vmsd,
1113
                     void *opaque)
1114
int vmstate_register(DeviceState *dev, int instance_id,
1115
                     const VMStateDescription *vmsd, void *opaque)
1114 1116
{
1115
    return vmstate_register_with_alias_id(instance_id, vmsd, opaque, -1, 0);
1117
    return vmstate_register_with_alias_id(dev, instance_id, vmsd,
1118
                                          opaque, -1, 0);
1116 1119
}
1117 1120

  
1118
void vmstate_unregister(const VMStateDescription *vmsd, void *opaque)
1121
void vmstate_unregister(DeviceState *dev, const VMStateDescription *vmsd,
1122
                        void *opaque)
1119 1123
{
1120 1124
    SaveStateEntry *se, *new_se;
1121 1125

  
b/slirp/slirp.c
232 232

  
233 233
    slirp->opaque = opaque;
234 234

  
235
    register_savevm("slirp", 0, 3, slirp_state_save, slirp_state_load, slirp);
235
    register_savevm(NULL, "slirp", 0, 3,
236
                    slirp_state_save, slirp_state_load, slirp);
236 237

  
237 238
    QTAILQ_INSERT_TAIL(&slirp_instances, slirp, entry);
238 239

  
......
243 244
{
244 245
    QTAILQ_REMOVE(&slirp_instances, slirp, entry);
245 246

  
246
    unregister_savevm("slirp", slirp);
247
    unregister_savevm(NULL, "slirp", slirp);
247 248

  
248 249
    qemu_free(slirp->tftp_prefix);
249 250
    qemu_free(slirp->bootp_filename);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff