39
#define TYPE_ETRAX_FS_PIC "etraxfs,pic"
40
#define ETRAX_FS_PIC(obj) \
41
OBJECT_CHECK(struct etrax_pic, (obj), TYPE_ETRAX_FS_PIC)
45
SysBusDevice parent_obj;
43
48
void *interrupt_vector;
44
49
qemu_irq parent_irq;
141
static int etraxfs_pic_init(SysBusDevice *dev)
146
static int etraxfs_pic_init(SysBusDevice *sbd)
143
struct etrax_pic *s = FROM_SYSBUS(typeof (*s), dev);
145
qdev_init_gpio_in(&dev->qdev, irq_handler, 32);
146
sysbus_init_irq(dev, &s->parent_irq);
147
sysbus_init_irq(dev, &s->parent_nmi);
149
memory_region_init_io(&s->mmio, &pic_ops, s, "etraxfs-pic", R_MAX * 4);
150
sysbus_init_mmio(dev, &s->mmio);
148
DeviceState *dev = DEVICE(sbd);
149
struct etrax_pic *s = ETRAX_FS_PIC(dev);
151
qdev_init_gpio_in(dev, irq_handler, 32);
152
sysbus_init_irq(sbd, &s->parent_irq);
153
sysbus_init_irq(sbd, &s->parent_nmi);
155
memory_region_init_io(&s->mmio, OBJECT(s), &pic_ops, s,
156
"etraxfs-pic", R_MAX * 4);
157
sysbus_init_mmio(sbd, &s->mmio);
168
175
static const TypeInfo etraxfs_pic_info = {
169
.name = "etraxfs,pic",
176
.name = TYPE_ETRAX_FS_PIC,
170
177
.parent = TYPE_SYS_BUS_DEVICE,
171
178
.instance_size = sizeof(struct etrax_pic),
172
179
.class_init = etraxfs_pic_class_init,