On 08/01/2024 21.27, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> The MIPS SIM platform instantiates its NIC only if a corresponding
> configuration exists for it. Use qemu_create_nic_device() function for
> that.
>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
> hw/mips/mipssim.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c
> index 01e323904d..16af31648e 100644
> --- a/hw/mips/mipssim.c
> +++ b/hw/mips/mipssim.c
> @@ -118,13 +118,15 @@ static void main_cpu_reset(void *opaque)
> }
> }
>
> -static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
> +static void mipsnet_init(int base, qemu_irq irq)
> {
> DeviceState *dev;
> SysBusDevice *s;
>
> - dev = qdev_new("mipsnet");
> - qdev_set_nic_properties(dev, nd);
> + dev = qemu_create_nic_device("mipsnet", true, NULL);
> + if (!dev) {
> + return;
> + }
>
> s = SYS_BUS_DEVICE(dev);
> sysbus_realize_and_unref(s, &error_fatal);
> @@ -225,9 +227,8 @@ mips_mipssim_init(MachineState *machine)
> sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0));
> }
>
> - if (nd_table[0].used)
> - /* MIPSnet uses the MIPS CPU INT0, which is interrupt 2. */
> - mipsnet_init(0x4200, env->irq[2], &nd_table[0]);
> + /* MIPSnet uses the MIPS CPU INT0, which is interrupt 2. */
> + mipsnet_init(0x4200, env->irq[2]);
> }
>
> static void mips_mipssim_machine_init(MachineClass *mc)
Reviewed-by: Thomas Huth <thuth@redhat.com>