Revision ee6847d1 hw/slavio_intctl.c

b/hw/slavio_intctl.c
69 69
    qemu_irq cpu_irqs[MAX_CPUS][MAX_PILS];
70 70
    const uint32_t *intbit_to_level;
71 71
    uint32_t cputimer_lbit, cputimer_mbit;
72
    uint32_t cputimer_bit;
72 73
    uint32_t pil_out[MAX_CPUS];
73 74
    SLAVIO_CPUINTCTLState slaves[MAX_CPUS];
74 75
} SLAVIO_INTCTLState;
......
388 389
static void slavio_intctl_init1(SysBusDevice *dev)
389 390
{
390 391
    SLAVIO_INTCTLState *s = FROM_SYSBUS(SLAVIO_INTCTLState, dev);
391
    int io_memory, cputimer;
392
    int io_memory;
392 393
    unsigned int i, j;
393 394

  
394 395
    qdev_init_gpio_in(&dev->qdev, slavio_set_irq_all, 32 + MAX_CPUS);
395 396
    io_memory = cpu_register_io_memory(slavio_intctlm_mem_read,
396 397
                                       slavio_intctlm_mem_write, s);
397 398
    sysbus_init_mmio(dev, INTCTLM_SIZE, io_memory);
398
    s->intbit_to_level = qdev_get_prop_ptr(&dev->qdev, "intbit_to_level");
399
    cputimer = qdev_get_prop_int(&dev->qdev, "cputimer_bit", -1);
400
    s->cputimer_mbit = 1 << cputimer;
401
    s->cputimer_lbit = 1 << s->intbit_to_level[cputimer];
399
    s->cputimer_mbit = 1 << s->cputimer_bit;
400
    s->cputimer_lbit = 1 << s->intbit_to_level[s->cputimer_bit];
402 401

  
403 402
    for (i = 0; i < MAX_CPUS; i++) {
404 403
        for (j = 0; j < MAX_PILS; j++) {
......
427 426
    unsigned int i, j;
428 427

  
429 428
    dev = qdev_create(NULL, "slavio_intctl");
430
    qdev_set_prop_ptr(dev, "intbit_to_level", (void *)intbit_to_level);
431
    qdev_set_prop_int(dev, "cputimer_bit", cputimer);
429
    qdev_prop_set_ptr(dev, "intbit_to_level", (void *)intbit_to_level);
430
    qdev_prop_set_uint32(dev, "cputimer_bit", cputimer);
432 431
    qdev_init(dev);
433 432

  
434 433
    s = sysbus_from_qdev(dev);
......
450 449
    .init = slavio_intctl_init1,
451 450
    .qdev.name  = "slavio_intctl",
452 451
    .qdev.size  = sizeof(SLAVIO_INTCTLState),
453
    .qdev.props = (DevicePropList[]) {
454
        {.name = "intbit_to_level", .type = PROP_TYPE_PTR},
455
        {.name = "cputimer_bit", .type = PROP_TYPE_INT},
456
        {.name = NULL}
452
    .qdev.props = (Property[]) {
453
        {
454
            .name = "intbit_to_level",
455
            .info = &qdev_prop_ptr,
456
            .offset = offsetof(SLAVIO_INTCTLState, intbit_to_level),
457
        },
458
        {
459
            .name = "cputimer_bit",
460
            .info = &qdev_prop_uint32,
461
            .offset = offsetof(SLAVIO_INTCTLState, cputimer_bit),
462
        },
463
        {/* end of property list */}
457 464
    }
458 465
};
459 466

  

Also available in: Unified diff