diff mbox series

[4/5] hw/loongarch64: Use MachineClass->default_nic in the virt machine

Message ID 20230523110435.1375774-5-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series Use MachineClass->default_nic in more machines | expand

Commit Message

Thomas Huth May 23, 2023, 11:04 a.m. UTC
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).

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/loongarch/virt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

gaosong May 25, 2023, 12:56 p.m. UTC | #1
在 2023/5/23 下午7:04, Thomas Huth 写道:
> 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).
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/loongarch/virt.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
Tested-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>

Thanks.
Song Gao
> diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
> index 2b7588e32a..ceddec1b23 100644
> --- a/hw/loongarch/virt.c
> +++ b/hw/loongarch/virt.c
> @@ -474,6 +474,7 @@ static DeviceState *create_platform_bus(DeviceState *pch_pic)
>   
>   static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *lams)
>   {
> +    MachineClass *mc = MACHINE_GET_CLASS(lams);
>       DeviceState *gpex_dev;
>       SysBusDevice *d;
>       PCIBus *pci_bus;
> @@ -528,7 +529,7 @@ static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *
>           NICInfo *nd = &nd_table[i];
>   
>           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);
> @@ -1038,6 +1039,7 @@ static void loongarch_class_init(ObjectClass *oc, void *data)
>       mc->default_boot_order = "c";
>       mc->no_cdrom = 1;
>       mc->get_hotplug_handler = virt_machine_get_hotplug_handler;
> +    mc->default_nic = "virtio-net-pci";
>       hc->plug = loongarch_machine_device_plug_cb;
>       hc->pre_plug = virt_machine_device_pre_plug;
>       hc->unplug_request = virt_machine_device_unplug_request;
diff mbox series

Patch

diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 2b7588e32a..ceddec1b23 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -474,6 +474,7 @@  static DeviceState *create_platform_bus(DeviceState *pch_pic)
 
 static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *lams)
 {
+    MachineClass *mc = MACHINE_GET_CLASS(lams);
     DeviceState *gpex_dev;
     SysBusDevice *d;
     PCIBus *pci_bus;
@@ -528,7 +529,7 @@  static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *
         NICInfo *nd = &nd_table[i];
 
         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);
@@ -1038,6 +1039,7 @@  static void loongarch_class_init(ObjectClass *oc, void *data)
     mc->default_boot_order = "c";
     mc->no_cdrom = 1;
     mc->get_hotplug_handler = virt_machine_get_hotplug_handler;
+    mc->default_nic = "virtio-net-pci";
     hc->plug = loongarch_machine_device_plug_cb;
     hc->pre_plug = virt_machine_device_pre_plug;
     hc->unplug_request = virt_machine_device_unplug_request;