hw/mips: Use MachineClass->default_nic in the virt machine

Mark the default NIC via the new MachineClass->default_nic setting
so that the machine-defaults code in vl.c can decide whether the
default NIC is usable or not (for example when compiling with the
"--without-default-devices" configure switch).

Inspired-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230524122559.28863-1-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2023-05-24 14:25:59 +02:00 committed by Thomas Huth
parent 611eda5981
commit bdc20bf5d1

View File

@ -406,6 +406,7 @@ static inline void loongson3_virt_devices_init(MachineState *machine,
PCIBus *pci_bus; PCIBus *pci_bus;
DeviceState *dev; DeviceState *dev;
MemoryRegion *mmio_reg, *ecam_reg; MemoryRegion *mmio_reg, *ecam_reg;
MachineClass *mc = MACHINE_GET_CLASS(machine);
LoongsonMachineState *s = LOONGSON_MACHINE(machine); LoongsonMachineState *s = LOONGSON_MACHINE(machine);
dev = qdev_new(TYPE_GPEX_HOST); dev = qdev_new(TYPE_GPEX_HOST);
@ -456,7 +457,7 @@ static inline void loongson3_virt_devices_init(MachineState *machine,
NICInfo *nd = &nd_table[i]; NICInfo *nd = &nd_table[i];
if (!nd->model) { if (!nd->model) {
nd->model = g_strdup("virtio"); nd->model = g_strdup(mc->default_nic);
} }
pci_nic_init_nofail(nd, pci_bus, nd->model, NULL); pci_nic_init_nofail(nd, pci_bus, nd->model, NULL);
@ -619,6 +620,7 @@ static void loongson3v_machine_class_init(ObjectClass *oc, void *data)
mc->default_ram_size = 1600 * MiB; mc->default_ram_size = 1600 * MiB;
mc->kvm_type = mips_kvm_type; mc->kvm_type = mips_kvm_type;
mc->minimum_page_bits = 14; mc->minimum_page_bits = 14;
mc->default_nic = "virtio-net-pci";
} }
static const TypeInfo loongson3_machine_types[] = { static const TypeInfo loongson3_machine_types[] = {