[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 19/47] hw/sparc64/sun4u: use pci_init_nic_devices()
From: |
David Woodhouse |
Subject: |
[PATCH v4 19/47] hw/sparc64/sun4u: use pci_init_nic_devices() |
Date: |
Fri, 26 Jan 2024 17:24:56 +0000 |
From: David Woodhouse <dwmw@amazon.co.uk>
The first sunhme NIC gets placed a function 1 on slot 1 of PCI bus A,
and the rest are dynamically assigned on PCI bus B.
Previously, any PCI NIC would get the special treatment purely by
virtue of being first in the list.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
hw/sparc64/sun4u.c | 27 ++++++++-------------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index 24d53bf5fd..eda9b58a21 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -639,29 +639,18 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
memset(&macaddr, 0, sizeof(MACAddr));
onboard_nic = false;
- for (i = 0; i < nb_nics; i++) {
- PCIBus *bus;
- nd = &nd_table[i];
-
- if (!nd->model || strcmp(nd->model, mc->default_nic) == 0) {
- if (!onboard_nic) {
- pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
mc->default_nic);
- bus = pci_busA;
- memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
- onboard_nic = true;
- } else {
- pci_dev = pci_new(-1, mc->default_nic);
- bus = pci_busB;
- }
- } else {
- pci_dev = pci_new(-1, nd->model);
- bus = pci_busB;
- }
+ nd = qemu_find_nic_info(mc->default_nic, true, NULL);
+ if (nd) {
+ pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1), mc->default_nic);
dev = &pci_dev->qdev;
qdev_set_nic_properties(dev, nd);
- pci_realize_and_unref(pci_dev, bus, &error_fatal);
+ pci_realize_and_unref(pci_dev, pci_busA, &error_fatal);
+
+ memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
+ onboard_nic = true;
}
+ pci_init_nic_devices(pci_busB, mc->default_nic);
/* If we don't have an onboard NIC, grab a default MAC address so that
* we have a valid machine id */
--
2.43.0
- [PATCH v4 09/47] hw/arm/virt: use pci_init_nic_devices(), (continued)
- [PATCH v4 09/47] hw/arm/virt: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 43/47] hw/xtensa/xtfpga: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 42/47] hw/sparc/sun4m: use qemu_find_nic_info(), David Woodhouse, 2024/01/26
- [PATCH v4 01/47] net: add qemu_{configure, create}_nic_device(), qemu_find_nic_info(), David Woodhouse, 2024/01/26
- [PATCH v4 32/47] hw/m68k/mcf5208: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 23/47] hw/arm/exynos4: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 06/47] hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs, David Woodhouse, 2024/01/26
- [PATCH v4 28/47] hw/arm/npcm7xx: use qemu_configure_nic_device, allow emc0/emc1 as aliases, David Woodhouse, 2024/01/26
- [PATCH v4 27/47] hw/arm/highbank: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 11/47] hw/loongarch: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 19/47] hw/sparc64/sun4u: use pci_init_nic_devices(),
David Woodhouse <=
- [PATCH v4 34/47] hw/microblaze: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 18/47] hw/sh4/r2d: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 03/47] net: add qemu_create_nic_bus_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 05/47] hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 21/47] hw/arm/allwinner: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 04/47] hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot(), David Woodhouse, 2024/01/26
- [PATCH v4 39/47] hw/openrisc/openrisc_sim: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 25/47] hw/net/smc91c111: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 38/47] hw/net/lasi_i82596: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 37/47] hw/net/lasi_i82596: Re-enable build, David Woodhouse, 2024/01/26