aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-10-23 09:37:14 +0100
committerDavid Woodhouse <dwmw@amazon.co.uk>2024-02-02 16:23:47 +0000
commit4c71721651454343ff5cead85f02a1ada7520244 (patch)
tree4890ca898fe865858545b17fdee5ddbadcef6a32
parentd2e82b1744ee81b1b1c8d15b2bfd46d46f2a49ba (diff)
downloadqemu-4c71721651454343ff5cead85f02a1ada7520244.zip
qemu-4c71721651454343ff5cead85f02a1ada7520244.tar.gz
qemu-4c71721651454343ff5cead85f02a1ada7520244.tar.bz2
hw/ppc/prep: use pci_init_nic_devices()
Previously, the first PCI NIC would be placed in PCI slot 3 and the rest would be dynamically assigned. Even if the user overrode the default NIC type and made it something other than PCNet. Now, the first PCNet NIC (that is, anything not explicitly specified to be anything different) will go to slot 3 even if it isn't the first NIC specified on the command line. And anything else will be dynamically assigned. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Thomas Huth <thuth@redhat.com>
-rw-r--r--hw/ppc/prep.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index 137276b..1a6cd05 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -241,7 +241,6 @@ static void ibm_40p_init(MachineState *machine)
ISADevice *isa_dev;
ISABus *isa_bus;
void *fw_cfg;
- int i;
uint32_t kernel_base = 0, initrd_base = 0;
long kernel_size = 0, initrd_size = 0;
char boot_device;
@@ -336,10 +335,9 @@ static void ibm_40p_init(MachineState *machine)
/* XXX: s3-trio at PCI_DEVFN(2, 0) */
pci_vga_init(pci_bus);
- for (i = 0; i < nb_nics; i++) {
- pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic,
- i == 0 ? "3" : NULL);
- }
+ /* First PCNET device at PCI_DEVFN(3, 0) */
+ pci_init_nic_in_slot(pci_bus, mc->default_nic, NULL, "3");
+ pci_init_nic_devices(pci_bus, mc->default_nic);
}
/* Prepare firmware configuration for OpenBIOS */