69
static int pic_init_common(ISADevice *dev)
69
static void pic_common_realize(DeviceState *dev, Error **errp)
71
71
PICCommonState *s = PIC_COMMON(dev);
72
PICCommonClass *info = PIC_COMMON_GET_CLASS(s);
76
73
isa_register_ioport(NULL, &s->base_io, s->iobase);
77
74
if (s->elcr_addr != -1) {
78
75
isa_register_ioport(NULL, &s->elcr_io, s->elcr_addr);
81
qdev_set_legacy_instance_id(DEVICE(dev), s->iobase, 1);
78
qdev_set_legacy_instance_id(dev, s->iobase, 1);
86
81
ISADevice *i8259_init_chip(const char *name, ISABus *bus, bool master)
90
dev = isa_create(bus, name);
91
qdev_prop_set_uint32(&dev->qdev, "iobase", master ? 0x20 : 0xa0);
92
qdev_prop_set_uint32(&dev->qdev, "elcr_addr", master ? 0x4d0 : 0x4d1);
93
qdev_prop_set_uint8(&dev->qdev, "elcr_mask", master ? 0xf8 : 0xde);
94
qdev_prop_set_bit(&dev->qdev, "master", master);
95
qdev_init_nofail(&dev->qdev);
86
isadev = isa_create(bus, name);
88
qdev_prop_set_uint32(dev, "iobase", master ? 0x20 : 0xa0);
89
qdev_prop_set_uint32(dev, "elcr_addr", master ? 0x4d0 : 0x4d1);
90
qdev_prop_set_uint8(dev, "elcr_mask", master ? 0xf8 : 0xde);
91
qdev_prop_set_bit(dev, "master", master);
92
qdev_init_nofail(dev);
100
97
static const VMStateDescription vmstate_pic_common = {
136
133
static void pic_common_class_init(ObjectClass *klass, void *data)
138
ISADeviceClass *ic = ISA_DEVICE_CLASS(klass);
139
135
DeviceClass *dc = DEVICE_CLASS(klass);
141
137
dc->vmsd = &vmstate_pic_common;
143
139
dc->props = pic_properties_common;
144
ic->init = pic_init_common;
140
dc->realize = pic_common_realize;
147
143
static const TypeInfo pic_common_type = {