Revision ee6847d1 hw/eccmemctl.c
b/hw/eccmemctl.c | ||
---|---|---|
321 | 321 |
ECCState *s = FROM_SYSBUS(ECCState, dev); |
322 | 322 |
|
323 | 323 |
sysbus_init_irq(dev, &s->irq); |
324 |
s->version = qdev_get_prop_int(&dev->qdev, "version", -1); |
|
325 | 324 |
s->regs[0] = s->version; |
326 | 325 |
ecc_io_memory = cpu_register_io_memory(ecc_mem_read, ecc_mem_write, s); |
327 | 326 |
sysbus_init_mmio(dev, ECC_SIZE, ecc_io_memory); |
... | ... | |
342 | 341 |
SysBusDevice *s; |
343 | 342 |
|
344 | 343 |
dev = qdev_create(NULL, "eccmemctl"); |
345 |
qdev_set_prop_int(dev, "version", version);
|
|
344 |
qdev_prop_set_uint32(dev, "version", version);
|
|
346 | 345 |
qdev_init(dev); |
347 | 346 |
s = sysbus_from_qdev(dev); |
348 | 347 |
sysbus_connect_irq(s, 0, irq); |
... | ... | |
352 | 351 |
} |
353 | 352 |
} |
354 | 353 |
|
354 |
static SysBusDeviceInfo ecc_info = { |
|
355 |
.init = ecc_init1, |
|
356 |
.qdev.name = "eccmemctl", |
|
357 |
.qdev.size = sizeof(ECCState), |
|
358 |
.qdev.props = (Property[]) { |
|
359 |
{ |
|
360 |
.name = "version", |
|
361 |
.info = &qdev_prop_uint32, |
|
362 |
.offset = offsetof(ECCState, version), |
|
363 |
.defval = (uint32_t[]) { -1 }, |
|
364 |
}, |
|
365 |
{/* end of list */} |
|
366 |
} |
|
367 |
}; |
|
368 |
|
|
369 |
|
|
355 | 370 |
static void ecc_register_devices(void) |
356 | 371 |
{ |
357 |
sysbus_register_dev("eccmemctl", sizeof(ECCState), ecc_init1);
|
|
372 |
sysbus_register_withprop(&ecc_info);
|
|
358 | 373 |
} |
359 | 374 |
|
360 | 375 |
device_init(ecc_register_devices) |
Also available in: Unified diff