Revision ee6847d1 hw/sun4m.c

b/hw/sun4m.c
373 373
    qemu_check_nic_model(&nd_table[0], "lance");
374 374

  
375 375
    dev = qdev_create(NULL, "lance");
376
    qdev_set_netdev(dev, nd);
377
    qdev_set_prop_ptr(dev, "dma", dma_opaque);
376
    dev->nd = nd;
378 377
    qdev_init(dev);
379 378
    s = sysbus_from_qdev(dev);
380 379
    sysbus_mmio_map(s, 0, leaddr);
......
410 409
    .init = idreg_init1,
411 410
    .qdev.name  = "macio_idreg",
412 411
    .qdev.size  = sizeof(SysBusDevice),
413
    .qdev.props = (DevicePropList[]) {
414
        {.name = NULL}
415
    }
416 412
};
417 413

  
418 414
static void idreg_register_devices(void)
......
468 464
    .init = prom_init1,
469 465
    .qdev.name  = "openprom",
470 466
    .qdev.size  = sizeof(SysBusDevice),
471
    .qdev.props = (DevicePropList[]) {
472
        {.name = NULL}
467
    .qdev.props = (Property[]) {
468
        {/* end of property list */}
473 469
    }
474 470
};
475 471

  
......
480 476

  
481 477
device_init(prom_register_devices);
482 478

  
479
typedef struct RamDevice
480
{
481
    SysBusDevice busdev;
482
    uint32_t size;
483
} RamDevice;
484

  
483 485
/* System RAM */
484 486
static void ram_init1(SysBusDevice *dev)
485 487
{
486 488
    ram_addr_t RAM_size, ram_offset;
489
    RamDevice *d = FROM_SYSBUS(RamDevice, dev);
487 490

  
488
    RAM_size = qdev_get_prop_int(&dev->qdev, "size", 0);
491
    RAM_size = d->size;
489 492

  
490 493
    ram_offset = qemu_ram_alloc(RAM_size);
491 494
    sysbus_init_mmio(dev, RAM_size, ram_offset);
......
496 499
{
497 500
    DeviceState *dev;
498 501
    SysBusDevice *s;
502
    RamDevice *d;
499 503

  
500 504
    /* allocate RAM */
501 505
    if ((uint64_t)RAM_size > max_mem) {
......
506 510
        exit(1);
507 511
    }
508 512
    dev = qdev_create(NULL, "memory");
509
    qdev_set_prop_int(dev, "size", RAM_size);
510 513
    qdev_init(dev);
511 514
    s = sysbus_from_qdev(dev);
512 515

  
516
    d = FROM_SYSBUS(RamDevice, s);
517
    d->size = RAM_size;
518

  
513 519
    sysbus_mmio_map(s, 0, addr);
514 520
}
515 521

  
516 522
static SysBusDeviceInfo ram_info = {
517 523
    .init = ram_init1,
518 524
    .qdev.name  = "memory",
519
    .qdev.size  = sizeof(SysBusDevice),
520
    .qdev.props = (DevicePropList[]) {
521
        {.name = "size", .type = PROP_TYPE_INT},
522
        {.name = NULL}
525
    .qdev.size  = sizeof(RamDevice),
526
    .qdev.props = (Property[]) {
527
        {
528
            .name = "size",
529
            .info = &qdev_prop_uint32,
530
            .offset = offsetof(RamDevice, size),
531
        },
532
        {/* end of property list */}
523 533
    }
524 534
};
525 535

  

Also available in: Unified diff