Revision 1a522e8a

b/hw/iommu.c
340 340
    }
341 341
};
342 342

  
343
static void iommu_reset(void *opaque)
343
static void iommu_reset(DeviceState *d)
344 344
{
345
    IOMMUState *s = opaque;
345
    IOMMUState *s = container_of(d, IOMMUState, busdev.qdev);
346 346

  
347 347
    memset(s->regs, 0, IOMMU_NREGS * 4);
348 348
    s->iostart = 0;
......
363 363
    io = cpu_register_io_memory(iommu_mem_read, iommu_mem_write, s);
364 364
    sysbus_init_mmio(dev, IOMMU_NREGS * sizeof(uint32_t), io);
365 365

  
366
    vmstate_register(-1, &vmstate_iommu, s);
367
    qemu_register_reset(iommu_reset, s);
368
    iommu_reset(s);
366
    iommu_reset(&s->busdev.qdev);
367

  
369 368
    return 0;
370 369
}
371 370

  
......
373 372
    .init = iommu_init1,
374 373
    .qdev.name  = "iommu",
375 374
    .qdev.size  = sizeof(IOMMUState),
375
    .qdev.vmsd  = &vmstate_iommu,
376
    .qdev.reset = iommu_reset,
376 377
    .qdev.props = (Property[]) {
377 378
        DEFINE_PROP_HEX32("version", IOMMUState, version, 0),
378 379
        DEFINE_PROP_END_OF_LIST(),

Also available in: Unified diff