402
406
static void lan9118_reset(DeviceState *d)
404
lan9118_state *s = FROM_SYSBUS(lan9118_state, SYS_BUS_DEVICE(d));
408
lan9118_state *s = LAN9118(d);
405
410
s->irq_cfg &= (IRQ_TYPE | IRQ_POL);
1320
1325
.link_status_changed = lan9118_set_link,
1323
static int lan9118_init1(SysBusDevice *dev)
1328
static int lan9118_init1(SysBusDevice *sbd)
1325
lan9118_state *s = FROM_SYSBUS(lan9118_state, dev);
1330
DeviceState *dev = DEVICE(sbd);
1331
lan9118_state *s = LAN9118(dev);
1328
1334
const MemoryRegionOps *mem_ops =
1329
1335
s->mode_16bit ? &lan9118_16bit_mem_ops : &lan9118_mem_ops;
1331
memory_region_init_io(&s->mmio, mem_ops, s, "lan9118-mmio", 0x100);
1332
sysbus_init_mmio(dev, &s->mmio);
1333
sysbus_init_irq(dev, &s->irq);
1337
memory_region_init_io(&s->mmio, OBJECT(dev), mem_ops, s,
1338
"lan9118-mmio", 0x100);
1339
sysbus_init_mmio(sbd, &s->mmio);
1340
sysbus_init_irq(sbd, &s->irq);
1334
1341
qemu_macaddr_default_if_unset(&s->conf.macaddr);
1336
1343
s->nic = qemu_new_nic(&net_lan9118_info, &s->conf,
1337
object_get_typename(OBJECT(dev)), dev->qdev.id, s);
1344
object_get_typename(OBJECT(dev)), dev->id, s);
1338
1345
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
1339
1346
s->eeprom[0] = 0xa5;
1340
1347
for (i = 0; i < 6; i++) {
1371
1378
static const TypeInfo lan9118_info = {
1379
.name = TYPE_LAN9118,
1373
1380
.parent = TYPE_SYS_BUS_DEVICE,
1374
1381
.instance_size = sizeof(lan9118_state),
1375
1382
.class_init = lan9118_class_init,
1388
1395
SysBusDevice *s;
1390
1397
qemu_check_nic_model(nd, "lan9118");
1391
dev = qdev_create(NULL, "lan9118");
1398
dev = qdev_create(NULL, TYPE_LAN9118);
1392
1399
qdev_set_nic_properties(dev, nd);
1393
1400
qdev_init_nofail(dev);
1394
1401
s = SYS_BUS_DEVICE(dev);