Message ID | 20240108204909.564514-33-dwmw2@infradead.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Rework matching of network devices to -nic options | expand |
On 08/01/2024 21.27, David Woodhouse wrote: > From: David Woodhouse <dwmw@amazon.co.uk> > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> > --- > hw/m68k/mcf5208.c | 19 ++++++------------- > 1 file changed, 6 insertions(+), 13 deletions(-) > > diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c > index d22d8536db..0cfb806c20 100644 > --- a/hw/m68k/mcf5208.c > +++ b/hw/m68k/mcf5208.c > @@ -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; > SysBusDevice *s; > 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); > sysbus_realize_and_unref(s, &error_fatal); > @@ -267,14 +267,7 @@ static void mcf5208evb_init(MachineState *machine) > > mcf5208_sys_init(address_space_mem, pic); > > - if (nb_nics > 1) { > - error_report("Too many NICs"); > - exit(1); > - } I wonder whether we'd need a different mechanism to specify the maximum amount of on-board NICs now... Anyway, we can also think of that later, so: Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index d22d8536db..0cfb806c20 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -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; SysBusDevice *s; 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); sysbus_realize_and_unref(s, &error_fatal); @@ -267,14 +267,7 @@ static void mcf5208evb_init(MachineState *machine) 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);