From nobody Tue Nov 26 14:47:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1706806198062418.72952660632063; Thu, 1 Feb 2024 08:49:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rVaAw-0002sD-AW; Thu, 01 Feb 2024 11:44:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rVaAo-0002q6-0R for qemu-devel@nongnu.org; Thu, 01 Feb 2024 11:44:22 -0500 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rVaAl-0002Rb-6Q for qemu-devel@nongnu.org; Thu, 01 Feb 2024 11:44:21 -0500 Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org) by casper.infradead.org with esmtpsa (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVaAf-0000000GId9-0HEW for qemu-devel@nongnu.org; Thu, 01 Feb 2024 16:44:14 +0000 Received: from dwoodhou by i7.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVaAg-00000003IN3-03I9 for qemu-devel@nongnu.org; Thu, 01 Feb 2024 16:44:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To: Cc:Content-Type:Content-ID:Content-Description; bh=OKm118/V6gxksMAtfnJ8Ufap3iGAGMSmq6JcPfpdm/s=; b=cUqX9MJOiEYyfJIVox0HrzpTM0 ldwC14FaAsiRE+x3Z7QD8oL6Bc1+440d1+SIaTapK9O069E2Sx4FXuwQMNuHLmbDpFn9f+Q43QHUe SKHJsq2XHtW+o5CCAIfddV/pJROinDHhIfIjBcX+CyVivEjOfhQCyh+iLMgqxo7+vIrsyUJ5S9G9N Te3qNe6o5vS7HsVGtm6pzBGOPIZjQ1stP6tgqcGHJRm7Yo/0KAJf8Yt2shivUdZHkhMLz/r04eoaq DkLzTCPBxrxG74Ehdq+1KRPhIWRkeX+pbItCIrohvtzxnr+XD6g8ML2UPfs6h+0XD6MvBKGE59+1m UNUte/cg==; From: David Woodhouse To: qemu-devel@nongnu.org Subject: [PULL 19/47] hw/sparc64/sun4u: use pci_init_nic_devices() Date: Thu, 1 Feb 2024 16:43:44 +0000 Message-ID: <20240201164412.785520-20-dwmw2@infradead.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240201164412.785520-1-dwmw2@infradead.org> References: <20240201164412.785520-1-dwmw2@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2001:8b0:10b:1236::1; envelope-from=BATV+16c2638fe4346fda554c+7466+infradead.org+dwmw2@casper.srs.infradead.org; helo=casper.infradead.org X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1706806199323100003 Content-Type: text/plain; charset="utf-8" From: David Woodhouse 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 Reviewed-by: Thomas Huth --- 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_m= em, =20 memset(&macaddr, 0, sizeof(MACAddr)); onboard_nic =3D false; - for (i =3D 0; i < nb_nics; i++) { - PCIBus *bus; - nd =3D &nd_table[i]; - - if (!nd->model || strcmp(nd->model, mc->default_nic) =3D=3D 0) { - if (!onboard_nic) { - pci_dev =3D pci_new_multifunction(PCI_DEVFN(1, 1), mc->def= ault_nic); - bus =3D pci_busA; - memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr)); - onboard_nic =3D true; - } else { - pci_dev =3D pci_new(-1, mc->default_nic); - bus =3D pci_busB; - } - } else { - pci_dev =3D pci_new(-1, nd->model); - bus =3D pci_busB; - } =20 + nd =3D qemu_find_nic_info(mc->default_nic, true, NULL); + if (nd) { + pci_dev =3D pci_new_multifunction(PCI_DEVFN(1, 1), mc->default_nic= ); dev =3D &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 =3D true; } + pci_init_nic_devices(pci_busB, mc->default_nic); =20 /* If we don't have an onboard NIC, grab a default MAC address so that * we have a valid machine id */ --=20 2.43.0