|
@@ -206,16 +206,16 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static void mcf_fec_init(MemoryRegion *sysmem, NICInfo *nd, hwaddr base,
|
|
|
|
- qemu_irq *irqs)
|
|
|
|
|
|
+static void mcf_fec_init(MemoryRegion *sysmem, hwaddr base, qemu_irq *irqs)
|
|
{
|
|
{
|
|
DeviceState *dev;
|
|
DeviceState *dev;
|
|
SysBusDevice *s;
|
|
SysBusDevice *s;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- qemu_check_nic_model(nd, TYPE_MCF_FEC_NET);
|
|
|
|
- dev = qdev_new(TYPE_MCF_FEC_NET);
|
|
|
|
- qdev_set_nic_properties(dev, nd);
|
|
|
|
|
|
+ dev = qemu_create_nic_device(TYPE_MCF_FEC_NET, true, NULL);
|
|
|
|
+ if (!dev) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
s = SYS_BUS_DEVICE(dev);
|
|
s = SYS_BUS_DEVICE(dev);
|
|
sysbus_realize_and_unref(s, &error_fatal);
|
|
sysbus_realize_and_unref(s, &error_fatal);
|
|
@@ -267,14 +267,7 @@ static void mcf5208evb_init(MachineState *machine)
|
|
|
|
|
|
mcf5208_sys_init(address_space_mem, pic);
|
|
mcf5208_sys_init(address_space_mem, pic);
|
|
|
|
|
|
- if (nb_nics > 1) {
|
|
|
|
- error_report("Too many NICs");
|
|
|
|
- exit(1);
|
|
|
|
- }
|
|
|
|
- if (nd_table[0].used) {
|
|
|
|
- mcf_fec_init(address_space_mem, &nd_table[0],
|
|
|
|
- 0xfc030000, pic + 36);
|
|
|
|
- }
|
|
|
|
|
|
+ mcf_fec_init(address_space_mem, 0xfc030000, pic + 36);
|
|
|
|
|
|
g_free(pic);
|
|
g_free(pic);
|
|
|
|
|