From nobody Mon Feb 9 17:37:17 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1536577646364794.0827271716004; Mon, 10 Sep 2018 04:07:26 -0700 (PDT) Received: from localhost ([::1]:50927 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzK2P-0004j6-9g for importer@patchew.org; Mon, 10 Sep 2018 07:07:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57496) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzJyD-00026T-Oa for qemu-devel@nongnu.org; Mon, 10 Sep 2018 07:03:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzJy6-0001JI-UF for qemu-devel@nongnu.org; Mon, 10 Sep 2018 07:03:04 -0400 Received: from 8.mo2.mail-out.ovh.net ([188.165.52.147]:33935) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzJy4-0001Eo-LX for qemu-devel@nongnu.org; Mon, 10 Sep 2018 07:02:58 -0400 Received: from player691.ha.ovh.net (unknown [10.109.159.7]) by mo2.mail-out.ovh.net (Postfix) with ESMTP id 531E315A2B5 for ; Mon, 10 Sep 2018 13:02:53 +0200 (CEST) Received: from zorba.kaod.org.com (LFbn-1-10605-110.w90-89.abo.wanadoo.fr [90.89.196.110]) (Authenticated sender: clg@kaod.org) by player691.ha.ovh.net (Postfix) with ESMTPSA id 1AB7826008E; Mon, 10 Sep 2018 13:02:48 +0200 (CEST) From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: David Gibson Date: Mon, 10 Sep 2018 13:02:22 +0200 Message-Id: <20180910110222.8162-4-clg@kaod.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180910110222.8162-1-clg@kaod.org> References: <20180910110222.8162-1-clg@kaod.org> MIME-Version: 1.0 X-Ovh-Tracer-Id: 5718727104084151270 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtjedrjedtgddvhecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 188.165.52.147 Subject: [Qemu-devel] [PATCH 3/3] spapr_pci: fix "ibm,pe-total-#msi" value X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The "ibm,pe-total-#msi" property of the sPAPR PHB defines the number of allocatable MSI interrupts. This is currently set to XICS_IRQS_SPAPR which covers the full IRQ number space of the machine. This is wrong. Fix the definition by using the 'nr_msis' attribute of the sPAPRIrq class and remove XICS_IRQS_SPAPR which is now unused. Signed-off-by: C=C3=A9dric Le Goater --- include/hw/ppc/xics.h | 2 -- hw/ppc/spapr_irq.c | 2 +- hw/ppc/spapr_pci.c | 5 +++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 9c2916c9b23a..9958443d1984 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -181,8 +181,6 @@ typedef struct XICSFabricClass { ICPState *(*icp_get)(XICSFabric *xi, int server); } XICSFabricClass; =20 -#define XICS_IRQS_SPAPR 1024 - void spapr_dt_xics(int nr_servers, void *fdt, uint32_t phandle); =20 ICPState *xics_icp_get(XICSFabric *xi, int server); diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index b14d7bce00ea..e77b94cc685e 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -290,7 +290,7 @@ int spapr_irq_find(sPAPRMachineState *spapr, int num, b= ool align, Error **errp) return first + ics->offset; } =20 -#define SPAPR_IRQ_XICS_LEGACY_NR_IRQS XICS_IRQS_SPAPR +#define SPAPR_IRQ_XICS_LEGACY_NR_IRQS 0x400 =20 sPAPRIrq spapr_irq_xics_legacy =3D { .nr_irqs =3D SPAPR_IRQ_XICS_LEGACY_NR_IRQS, diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 6bcb4f419b6b..bb736177e76c 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -2121,6 +2121,7 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb, sPAPRTCETable *tcet; PCIBus *bus =3D PCI_HOST_BRIDGE(phb)->bus; sPAPRFDT s_fdt; + sPAPRMachineClass *smc =3D SPAPR_MACHINE_GET_CLASS(qdev_get_machine()); =20 /* Start populating the FDT */ nodename =3D g_strdup_printf("pci@%" PRIx64, phb->buid); @@ -2138,8 +2139,8 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb, _FDT(fdt_setprop(fdt, bus_off, "ranges", &ranges, sizeof_ranges)); _FDT(fdt_setprop(fdt, bus_off, "reg", &bus_reg, sizeof(bus_reg))); _FDT(fdt_setprop_cell(fdt, bus_off, "ibm,pci-config-space-type", 0x1)); - /* TODO: fine tune the total count of allocatable MSIs per PHB */ - _FDT(fdt_setprop_cell(fdt, bus_off, "ibm,pe-total-#msi", XICS_IRQS_SPA= PR)); + _FDT(fdt_setprop_cell(fdt, bus_off, "ibm,pe-total-#msi", + smc->irq->nr_msis)); =20 /* Dynamic DMA window */ if (phb->ddw_enabled) { --=20 2.17.1