| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 [PATCH for-8.3 v2 16/46] hw/ppc/spapr: use qemu_get_nic_info() and pci_init_nic_devices()
 
To: qemu-devel@xxxxxxxxxxFrom: David Woodhouse <dwmw2@xxxxxxxxxxxxx>Date: Mon,  6 Nov 2023 19:49:21 +0000Cc: Richard Henderson <richard.henderson@xxxxxxxxxx>,	Beniamino Galvani <b.galvani@xxxxxxxxx>,	Peter Maydell <peter.maydell@xxxxxxxxxx>,	Strahinja Jankovic <strahinja.p.jankovic@xxxxxxxxx>,	Niek Linnenbank <nieklinnenbank@xxxxxxxxx>,	Cédric Le Goater <clg@xxxxxxxx>,	Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>,	Joel Stanley <joel@xxxxxxxxx>,	Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>,	Jean-Christophe Dubois <jcd@xxxxxxxxxxxxxxx>,	Andrey Smirnov <andrew.smirnov@xxxxxxxxx>,	Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>,	Rob Herring <robh@xxxxxxxxxx>,	Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>,	Jan Kiszka <jan.kiszka@xxxxxx>,	Tyrone Ting <kfting@xxxxxxxxxxx>,	Hao Wu <wuhaotsh@xxxxxxxxxx>,	Radoslaw Biernacki <rad@xxxxxxxxxxxx>,	Leif Lindholm <quic_llindhol@xxxxxxxxxxx>,	Marcin Juszkiewicz <marcin.juszkiewicz@xxxxxxxxxx>,	"Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxx>,	Alistair Francis <alistair@xxxxxxxxxxxxx>,	Helge Deller <deller@xxxxxx>,	"Michael S. Tsirkin" <mst@xxxxxxxxxx>,	Marcel Apfelbaum <marcel.apfelbaum@xxxxxxxxx>,	Paolo Bonzini <pbonzini@xxxxxxxxxx>,	Eduardo Habkost <eduardo@xxxxxxxxxxx>,	Song Gao <gaosong@xxxxxxxxxxx>,	Thomas Huth <huth@xxxxxxxxxxxxx>,	Laurent Vivier <laurent@xxxxxxxxx>,	Huacai Chen <chenhuacai@xxxxxxxxxx>,	Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>,	Hervé Poussineau <hpoussin@xxxxxxxxxxx>,	Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>,	Aurelien Jarno <aurelien@xxxxxxxxxxx>,	Jason Wang <jasowang@xxxxxxxxxx>,	Jia Liu <proljc@xxxxxxxxx>,	Stafford Horne <shorne@xxxxxxxxx>,	Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>,	Nicholas Piggin <npiggin@xxxxxxxxx>,	Daniel Henrique Barboza <danielhb413@xxxxxxxxx>,	David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>,	Harsh Prateek Bora <harshpb@xxxxxxxxxxxxx>,	Bin Meng <bin.meng@xxxxxxxxxxxxx>,	Palmer Dabbelt <palmer@xxxxxxxxxxx>,	Weiwei Li <liweiwei@xxxxxxxxxxx>,	Liu Zhiwei <zhiwei_liu@xxxxxxxxxxxxxxxxx>,	David Hildenbrand <david@xxxxxxxxxx>,	Ilya Leoshkevich <iii@xxxxxxxxxxxxx>,	Halil Pasic <pasic@xxxxxxxxxxxxx>,	Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>,	Eric Farman <farman@xxxxxxxxxxxxx>,	Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>,	Magnus Damm <magnus.damm@xxxxxxxxx>,	Artyom Tarasenko <atar4qemu@xxxxxxxxx>,	Stefano Stabellini <sstabellini@xxxxxxxxxx>,	Anthony Perard <anthony.perard@xxxxxxxxxx>,	Paul Durrant <paul@xxxxxxx>,	Max Filippov <jcmvbkbc@xxxxxxxxx>,	qemu-arm@xxxxxxxxxx,	qemu-ppc@xxxxxxxxxx,	qemu-riscv@xxxxxxxxxx,	qemu-s390x@xxxxxxxxxx,	xen-devel@xxxxxxxxxxxxxxxxxxxxDelivery-date: Mon, 06 Nov 2023 19:55:52 +0000List-id: Xen developer discussion <xen-devel.lists.xenproject.org> 
 From: David Woodhouse <dwmw@xxxxxxxxxxxx>
Avoid directly referencing nd_table[] by first instantiating any
spapr-vlan devices using a qemu_get_nic_info() loop, then calling
pci_init_nic_devices() to do the rest.
No functional change intended.
Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx>
---
 hw/ppc/spapr.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index df09aa9d6a..3d8ad75790 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2796,6 +2796,7 @@ static void spapr_machine_init(MachineState *machine)
     MemoryRegion *sysmem = get_system_memory();
     long load_limit, fw_size;
     Error *resize_hpt_err = NULL;
+    NICInfo *nd;
 
     if (!filename) {
         error_report("Could not find LPAR firmware '%s'", bios_name);
@@ -2996,21 +2997,12 @@ static void spapr_machine_init(MachineState *machine)
 
     phb = spapr_create_default_phb();
 
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-
-        if (!nd->model) {
-            nd->model = g_strdup("spapr-vlan");
-        }
-
-        if (g_str_equal(nd->model, "spapr-vlan") ||
-            g_str_equal(nd->model, "ibmveth")) {
-            spapr_vlan_create(spapr->vio_bus, nd);
-        } else {
-            pci_nic_init_nofail(&nd_table[i], phb->bus, nd->model, NULL);
-        }
+    while ((nd = qemu_find_nic_info("spapr-vlan", true, "ibmveth"))) {
+        spapr_vlan_create(spapr->vio_bus, nd);
     }
 
+    pci_init_nic_devices(phb->bus, NULL);
+
     for (i = 0; i <= drive_get_max_bus(IF_SCSI); i++) {
         spapr_vscsi_create(spapr->vio_bus);
     }
-- 
2.41.0
 |