From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654033922; cv=none; d=zohomail.com; s=zohoarc; b=VPMJQdaIq4FqWspI+8Tp0kdOsdn05t0TGyzuGf3JXjJMeaYJmt5ZwhayjzagZIa11KVCkDbEEaeyrr9z1ULHf/h+Xunc0xEJtNbKNGpI3VMDxmEypc41Jcqk9W4V2OuERwJ20hRtEkIJjJfCTPVHnU7ErSww4NE/SFG1cOfm4Gw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654033922; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0/L9WFXn7zvJ57pkEmeiDRRKtBCf20gcRPM1iaAqvMg=; b=QuIiUocVUZoFWlwBwTohUS9/8ziZ04Vylg4xDGBgv1FQENv1cW+mX+JZ6C9gV/mao0bdcqIbLkGBoAbEKPUiGFvx1/O4l0wXTMzBaBDIqVObCpEppuRcMG6m41HdISSGFawxI3srqdr8sWGRXFPIviaj6bIUxMrQh0o1Trmmf+0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654033922267185.52851403124032; Tue, 31 May 2022 14:52:02 -0700 (PDT) Received: from localhost ([::1]:58000 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9mT-00036K-8u for importer@patchew.org; Tue, 31 May 2022 17:52:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9k0-0008VV-AM; Tue, 31 May 2022 17:49:28 -0400 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]:45589) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9jy-0003Js-KB; Tue, 31 May 2022 17:49:28 -0400 Received: by mail-oi1-x232.google.com with SMTP id k11so150992oia.12; Tue, 31 May 2022 14:49:25 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0/L9WFXn7zvJ57pkEmeiDRRKtBCf20gcRPM1iaAqvMg=; b=o3H+U+uFE9dW+rZxMmvGrV58G7kkSise0/L+AZryPhYa98G75wNSugJ5sQ2jw+E1gM OwK3F4g98jXtALwWRw+o129e1F1zLny9falFcdxw/6AT7RJHPJAphfxykMG6vNYvsCPj pTW2X6ggQon4S6XAUM7Y1WR2DPC147UoDyi5lvkKAZ8gXt+z4ALDCwfr13joMDiSSesO sFSoaHnl+XdZZtEu6+Iu3KIb2CPMbnIsD1+HFXaAuBMrc+m3djOfHL68SAYmMhAN20Tq aWlAATyp1KT25VvylT3O/kqWO9yfjNoylhiNUZsGOgbe4WTc/linlO/sncb4pHq1VmKu Z9zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0/L9WFXn7zvJ57pkEmeiDRRKtBCf20gcRPM1iaAqvMg=; b=rg9OTMdsFr5Fn0pASjkMTb77gD1M9Sez6mzPPVkoINBFWIoxGND2zagFEvRWkr3jyC a5qyPy3pcMaL6cUnWBZ7c7eOToeKyY+wF63FRi+I3o3zzbb0rXuX1aaeXhg6kTxB2wmj vjlbZJHh6jKw4vYmJCoaQ4EzU6qxCSmnVVaB/9mEu8ex8rP+5Q4b2Vqfw9jsYZWeuhJ7 qo46ETy9n/Sj+qsrYvIY4KlIqTK/qFX7SoXEWEo8qG0CgsnDkL/Mu4EVaI2fX/1VUvKB L0DNZWIBGeLv3hVdnbH7AkO+HFznJMuHfTFi1BK03E6rFqEVec79gIe8FIPNFThOjtVS gxzw== X-Gm-Message-State: AOAM5309zsW0jP00nbZGd3XGPAOov/PjQl+mNKiCY+RuMwBpRyll5EGd LOye+uqZWFQdUrF1+upnw9Q6Tnt+yTcoPQ== X-Google-Smtp-Source: ABdhPJwiSdxqY8Ta95ZpXXQB5tcmWQPkl6/hRsNVI84JMIFPPMJ6F0QA7k8TKn7q+V5EI0/xrCE4XA== X-Received: by 2002:a05:6808:1a22:b0:32b:60c2:e2bd with SMTP id bk34-20020a0568081a2200b0032b60c2e2bdmr13225406oib.189.1654033765148; Tue, 31 May 2022 14:49:25 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 01/16] ppc/pnv: add PHB3 bus init helper Date: Tue, 31 May 2022 18:49:02 -0300 Message-Id: <20220531214917.31668-2-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::232; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x232.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654033923138100003 Content-Type: text/plain; charset="utf-8" The PnvPHB3 bus init consists of initializing the pci_io and pci_mmio regions, registering it via pci_register_root_bus() and then setup the iommu. We'll want to init the bus from outside pnv_phb3.c when the bus is removed from the PnvPHB3 device and put into a new parent PnvPHB device. The new pnv_phb3_bus_init() helper will be used by the parent to init the bus when using the PHB3 backend. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb3.c | 40 +++++++++++++++++++--------------- include/hw/pci-host/pnv_phb3.h | 1 + 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index 3f03467dde..60584e2aae 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -986,10 +986,31 @@ static void pnv_phb3_instance_init(Object *obj) =20 } =20 +void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb) +{ + PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); + + /* + * PHB3 doesn't support IO space. However, qemu gets very upset if + * we don't have an IO region to anchor IO BARs onto so we just + * initialize one which we never hook up to anything + */ + memory_region_init(&phb->pci_io, OBJECT(phb), "pci-io", 0x10000); + memory_region_init(&phb->pci_mmio, OBJECT(phb), "pci-mmio", + PCI_MMIO_TOTAL_SIZE); + + pci->bus =3D pci_register_root_bus(dev, + dev->id ? dev->id : NULL, + pnv_phb3_set_irq, pnv_phb3_map_irq, p= hb, + &phb->pci_mmio, &phb->pci_io, + 0, 4, TYPE_PNV_PHB3_ROOT_BUS); + + pci_setup_iommu(pci->bus, pnv_phb3_dma_iommu, phb); +} + static void pnv_phb3_realize(DeviceState *dev, Error **errp) { PnvPHB3 *phb =3D PNV_PHB3(dev); - PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); int i; =20 @@ -1035,22 +1056,7 @@ static void pnv_phb3_realize(DeviceState *dev, Error= **errp) memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb3_reg_ops, p= hb, "phb3-regs", 0x1000); =20 - /* - * PHB3 doesn't support IO space. However, qemu gets very upset if - * we don't have an IO region to anchor IO BARs onto so we just - * initialize one which we never hook up to anything - */ - memory_region_init(&phb->pci_io, OBJECT(phb), "pci-io", 0x10000); - memory_region_init(&phb->pci_mmio, OBJECT(phb), "pci-mmio", - PCI_MMIO_TOTAL_SIZE); - - pci->bus =3D pci_register_root_bus(dev, - dev->id ? dev->id : NULL, - pnv_phb3_set_irq, pnv_phb3_map_irq, p= hb, - &phb->pci_mmio, &phb->pci_io, - 0, 4, TYPE_PNV_PHB3_ROOT_BUS); - - pci_setup_iommu(pci->bus, pnv_phb3_dma_iommu, phb); + pnv_phb3_bus_init(dev, phb); =20 pnv_phb_attach_root_port(PCI_HOST_BRIDGE(phb), TYPE_PNV_PHB3_ROOT_PORT= ); } diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index af6ec83cf6..1375f18fc1 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -164,5 +164,6 @@ uint64_t pnv_phb3_reg_read(void *opaque, hwaddr off, un= signed size); void pnv_phb3_reg_write(void *opaque, hwaddr off, uint64_t val, unsigned s= ize); void pnv_phb3_update_regions(PnvPHB3 *phb); void pnv_phb3_remap_irqs(PnvPHB3 *phb); +void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb); =20 #endif /* PCI_HOST_PNV_PHB3_H */ --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654033929; cv=none; d=zohomail.com; s=zohoarc; b=QnD9v086OyuZeoRVqme8ZIb7jycsRDXTK5H6+YMb7Z2StqnSeuxv1bxahBmmMfD3x0/AVR3mQ3uDO7w3nBz6kOg+2oYudMHNlCkqmPYLFEpsyszHh+3Z7BvE8vFag1a49jpyIEeTEvRUYhJ4XecLpA5BAHWfQjejCES2WU86A5E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654033929; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1XLQXA2zIOXa8yl+dwEEXPr3as/VYtJrfGwXifLwIjM=; b=mnqK1G0QZRjStln0xFEFHoR8CxwqpBoRR+0aCB97WGYiffjDzaT8kwSf1n6J59pTR55+3RTAe7fta5c8BlmFMXDIiz3moEq0pIbnC+KzWOwwSfUfbGdfPGNnbVkGGNyek6wNHmfb2kKQkT9Fe9PSvj1pRrRtVFyDcUllNAc5tF0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654033929467901.5925722420425; Tue, 31 May 2022 14:52:09 -0700 (PDT) Received: from localhost ([::1]:58566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9ma-0003Tj-DZ for importer@patchew.org; Tue, 31 May 2022 17:52:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9k3-0000Ea-5p; Tue, 31 May 2022 17:49:31 -0400 Received: from mail-oa1-x29.google.com ([2001:4860:4864:20::29]:33963) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9k1-0003Kf-GV; Tue, 31 May 2022 17:49:30 -0400 Received: by mail-oa1-x29.google.com with SMTP id 586e51a60fabf-f314077115so232078fac.1; Tue, 31 May 2022 14:49:28 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1XLQXA2zIOXa8yl+dwEEXPr3as/VYtJrfGwXifLwIjM=; b=OrxyjbLJVnhS6BWG2fF8oEJ1xsQRstxk67hmyJe63G1qTjLDOHLI6E5VbEliLjBXaR mxfDDQqWCQzaUm0IV22OlMQEswBBIf46bR2jFh10WoAsUuTPDb+nUVG/GA6Ja0KHNvU5 IeWURvmz9JBOZ+L0s3OoSB7SrD69qzFOFrEQ51O/toeau2hqP6N3SHRh1w7tQUWscYIM 1fBw4sd5POWwjzBDDsfFf5QAuRoT3+omXAGq/J089THXhgiqKsxGL7NS8Hmeh6HJ7NDs Upl8n/VFjUTWhdfkQJ4I3HikHsP5x4+o9brAqeLaYgRulIAUBQ8el0vKNHD2TaRYF75Y KazA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1XLQXA2zIOXa8yl+dwEEXPr3as/VYtJrfGwXifLwIjM=; b=MfZ1o/nGZsl4Gu97UKlLFa7vgCFTYQLD2FJ0+ESLg5fyMGpGi1JnloMlDa0evmb/ix dnE9cCEWJVbDMKNV2l13U4CceZNcrR50dvz4QErWk1Fa52jHQbNM9rl536lE9A9QXGSv LMjm4YD9UEE7AG2DQJXCKYXVpOFCVMlvaGUnnKa/nwbxAko3L2b9JF4AXz8pzTPWUC4d BP6gsh+Ceg+BQoXxap6iCfHtJ9fPz0hD4f/KtFD9+QeP92mv/OfburFYTZwKoQMKjeoi AkGAKdcWIDNDamlehPAUJ6Roy3i3YcvX5/WA2R0FFpd8RwbdvYeqBULF1iP0lagOseeQ mPjA== X-Gm-Message-State: AOAM532xC7iOvGRFf7u7oSYjefpA15dUcUcOFijzq0x860Ov71HxuKCT q3T51WP6r2GEbmo8janTtR4Y3dfN2d0v8Q== X-Google-Smtp-Source: ABdhPJzROxIgbc2tK/iKSHv8JzSlm4sNTzDy4k+RJq2BIdsnAV/B0j/Wm9qxBHnxslGHk3B8P6iKFA== X-Received: by 2002:a05:6870:340b:b0:ee:37af:2722 with SMTP id g11-20020a056870340b00b000ee37af2722mr14447387oah.91.1654033767682; Tue, 31 May 2022 14:49:27 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 02/16] ppc/pnv: add pnv_get_phb3_child() Date: Tue, 31 May 2022 18:49:03 -0300 Message-Id: <20220531214917.31668-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2001:4860:4864:20::29; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x29.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654033930375100001 Content-Type: text/plain; charset="utf-8" The ics and pic related functions in pnv.c relies in the fact that the child device of the chip is always a PnvPHB3 object. This will change in the next patches, and the PHB3 will be a child of another device that will be attached to the pnv8 chip. To ease the amount of changes done later, on let's create a helper that retrieves the PnvPHB3 pointer from the child object in these functions. After that we'll have a single place to change when the chip starts using the upcoming device instead. Signed-off-by: Daniel Henrique Barboza --- hw/ppc/pnv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 7c08a78d6c..aaf4d241c3 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -652,10 +652,15 @@ static ISABus *pnv_isa_create(PnvChip *chip, Error **= errp) return PNV_CHIP_GET_CLASS(chip)->isa_create(chip, errp); } =20 +static PnvPHB3 *pnv_get_phb3_child(Object *child) +{ + return (PnvPHB3 *)object_dynamic_cast(child, TYPE_PNV_PHB3); +} + static int pnv_chip_power8_pic_print_info_child(Object *child, void *opaqu= e) { Monitor *mon =3D opaque; - PnvPHB3 *phb3 =3D (PnvPHB3 *) object_dynamic_cast(child, TYPE_PNV_PHB3= ); + PnvPHB3 *phb3 =3D pnv_get_phb3_child(child); =20 if (phb3) { pnv_phb3_msi_pic_print_info(&phb3->msis, mon); @@ -1942,7 +1947,7 @@ typedef struct ForeachPhb3Args { static int pnv_ics_get_child(Object *child, void *opaque) { ForeachPhb3Args *args =3D opaque; - PnvPHB3 *phb3 =3D (PnvPHB3 *) object_dynamic_cast(child, TYPE_PNV_PHB3= ); + PnvPHB3 *phb3 =3D pnv_get_phb3_child(child); =20 if (phb3) { if (ics_valid_irq(&phb3->lsis, args->irq)) { @@ -1992,7 +1997,7 @@ PnvChip *pnv_get_chip(PnvMachineState *pnv, uint32_t = chip_id) =20 static int pnv_ics_resend_child(Object *child, void *opaque) { - PnvPHB3 *phb3 =3D (PnvPHB3 *) object_dynamic_cast(child, TYPE_PNV_PHB3= ); + PnvPHB3 *phb3 =3D pnv_get_phb3_child(child); =20 if (phb3) { ics_resend(&phb3->lsis); --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654033971; cv=none; d=zohomail.com; s=zohoarc; b=ed3vMBTM0pTnFM/qur3d/FT/fm13GLzi2Rt4oy8bjwFif7kL2ix5lT+2BwJ1rG0UL+m+rqE8/lBWOcZRR72bIhrHsY/UdowCll4GwniN2BvLjfAJxVGGPQvd+KvVWbDTn0ENrXLhxpdgsWuvGNpEkk6I0+/B9uEexhEEsWSF1l0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654033971; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Y/l3aFhWfMgz1DksEB6yo5ZEcVK6bbfjAh8obfrgZsc=; b=Ly/7iN6mmUAi+BDiiLxx3Gu1xBtULeb6UspitJ8IGePkCrLZTGIaPkgyVps1olEQPVHiQX3LU0i8l01x255NyjiRkRBZ6FPvftk7q1yF/RyFJs0RBBVq2lksqu/oPWJcAMG1NSqndRofFv1t27Ii57mYiqdl3xxM9y1L+y6scj0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654033971275307.835617938097; Tue, 31 May 2022 14:52:51 -0700 (PDT) Received: from localhost ([::1]:59846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9nF-0004Je-OE for importer@patchew.org; Tue, 31 May 2022 17:52:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53018) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9k5-0000PZ-H7; Tue, 31 May 2022 17:49:33 -0400 Received: from mail-oi1-x235.google.com ([2607:f8b0:4864:20::235]:37777) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9k3-0003Kv-Kc; Tue, 31 May 2022 17:49:33 -0400 Received: by mail-oi1-x235.google.com with SMTP id s188so198370oie.4; Tue, 31 May 2022 14:49:30 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Y/l3aFhWfMgz1DksEB6yo5ZEcVK6bbfjAh8obfrgZsc=; b=BCYEJXE/5hjVGv5Cf8cmo/lsbzUinF08memQqS5uvOpxtZiV1A2KLMzl8bs1Yt/zj6 yETBd5zJO/vjmBkSq+A8VsK/jPya9vnmW49OPiUomuw19rzzOW+3wcqzZMnOuNJYswJS LOmi6nN8GpCCU/PSd2g4jYLkECl94xVc75xnSbc5qm6RIV3/EjTjJnIA+FG7oFx6eHm9 Hzg4yF6ezkNG7TNZPGtRLLXUhS+pT6H61eA1YdiEcCFSeB6MLr16JfVZykYpX0SC2bYA +Txfhq9BHlJzsvib3LRPdUpBR3h5HcXeQfltHvZ9hn6SblpO5HRpoQlc2E1xG9d9MYTS 2nxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Y/l3aFhWfMgz1DksEB6yo5ZEcVK6bbfjAh8obfrgZsc=; b=nG+ck79AONIk889nsaut/X3iajRDhNbCwXsF//7vN+UO+sS8ijZzfF4ifu5Fa9UgAf al1mQn4ov9+TXH+qm5zH2ID+WLOYf5oa+qaVmJIvdto+4CWA9DQr+zHXrYqHWBTvBICO QJKXrzNl1I/qJa2ZQAGki2Dtp7R0lqppnE/E3lfoTK7+70Bj7u3JxD46n2Q48IeQ268P u7tCuxLwzREDNAQTjAKSlNLfjT5FH/cSYezJE+sgjAl1JPNRtAGkttUZEFGNt6xz4+PV zfetMyQWEPx41QCg6kHIHG20N21uxDtE97lqYitF3Cd3oYYQ8NSPuwn3xBe4ZeYuFAZz 2IVA== X-Gm-Message-State: AOAM530s0H5t2FZjATecuUtLhx7CTcbQRV1Jn8mYU+05ybQtiqG3ZFye YocTeF1RN8ZnYuxT8nxyJzFyub5obXi9yw== X-Google-Smtp-Source: ABdhPJyyfQ0gvr8AoWGqnJdShYpPQwzMzesP3Mr2T6JO2XtyCMLOmFlXUt8WpyxmnnmEXFoZWh40YQ== X-Received: by 2002:a05:6808:1246:b0:2c9:efa5:7209 with SMTP id o6-20020a056808124600b002c9efa57209mr13613065oiv.62.1654033770176; Tue, 31 May 2022 14:49:30 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 03/16] ppc/pnv: add PnvPHB base/proxy device Date: Tue, 31 May 2022 18:49:04 -0300 Message-Id: <20220531214917.31668-4-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::235; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x235.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654033972358100001 Content-Type: text/plain; charset="utf-8" The PnvPHB device is going to be the base device for all other powernv PHBs. It consists of a device that has the same user API as the other PHB, namely being a PCIHostBridge and having chip-id and index properties. It also has a 'backend' pointer that will be initialized with the PHB implementation that the device is going to use. The initialization of the PHB backend is done by checking the PHB version via a 'version' attribute that can be set via a global machine property. The 'version' field will be used to make adjustments based on the running version, e.g. PHB3 uses a 'chip' reference while PHB4 uses 'pec'. To init the PnvPHB bus we'll rely on helpers for each version. The version 3 helper is already added (pnv_phb3_bus_init), the PHB4 helper will be added later on. For now let's add the basic logic of the PnvPHB object, which consists mostly of pnv_phb_realize() doing all the work of checking the phb->version set, initializing the proper backend, passing through its attributes to the chosen backend, finalizing the backend realize and adding a root port in the end. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/meson.build | 3 +- hw/pci-host/pnv_phb.c | 123 ++++++++++++++++++++++++++++++++++++++++ hw/pci-host/pnv_phb.h | 39 +++++++++++++ 3 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 hw/pci-host/pnv_phb.c create mode 100644 hw/pci-host/pnv_phb.h diff --git a/hw/pci-host/meson.build b/hw/pci-host/meson.build index c07596d0d1..e832babc9d 100644 --- a/hw/pci-host/meson.build +++ b/hw/pci-host/meson.build @@ -35,5 +35,6 @@ specific_ss.add(when: 'CONFIG_PCI_POWERNV', if_true: file= s( 'pnv_phb3_msi.c', 'pnv_phb3_pbcq.c', 'pnv_phb4.c', - 'pnv_phb4_pec.c' + 'pnv_phb4_pec.c', + 'pnv_phb.c', )) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c new file mode 100644 index 0000000000..fa8472622f --- /dev/null +++ b/hw/pci-host/pnv_phb.c @@ -0,0 +1,123 @@ +/* + * QEMU PowerPC PowerNV Proxy PHB model + * + * Copyright (c) 2022, IBM Corporation. + * + * This code is licensed under the GPL version 2 or later. See the + * COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "qemu/log.h" +#include "qapi/visitor.h" +#include "qapi/error.h" +#include "hw/pci-host/pnv_phb.h" +#include "hw/pci-host/pnv_phb3.h" +#include "hw/pci-host/pnv_phb4.h" +#include "hw/ppc/pnv.h" +#include "hw/qdev-properties.h" +#include "qom/object.h" + + +static void pnv_phb_realize(DeviceState *dev, Error **errp) +{ + PnvPHB *phb =3D PNV_PHB(dev); + PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); + g_autofree char *phb_typename =3D NULL; + g_autofree char *phb_rootport_typename =3D NULL; + + if (!phb->version) { + error_setg(errp, "version not specified"); + return; + } + + switch (phb->version) { + case 3: + phb_typename =3D g_strdup(TYPE_PNV_PHB3); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB3_ROOT_PORT); + break; + case 4: + phb_typename =3D g_strdup(TYPE_PNV_PHB4); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB4_ROOT_PORT); + break; + case 5: + phb_typename =3D g_strdup(TYPE_PNV_PHB5); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB5_ROOT_PORT); + break; + default: + g_assert_not_reached(); + } + + phb->backend =3D object_new(phb_typename); + object_property_add_child(OBJECT(dev), "phb-device", phb->backend); + + /* Passthrough child device properties to the proxy device */ + object_property_set_uint(phb->backend, "index", phb->phb_id, errp); + object_property_set_uint(phb->backend, "chip-id", phb->chip_id, errp); + object_property_set_link(phb->backend, "phb-base", OBJECT(phb), errp); + + if (phb->version =3D=3D 3) { + object_property_set_link(phb->backend, "chip", + OBJECT(phb->chip), errp); + } else { + object_property_set_link(phb->backend, "pec", OBJECT(phb->pec), er= rp); + } + + if (!qdev_realize(DEVICE(phb->backend), NULL, errp)) { + return; + } + + if (phb->version =3D=3D 3) { + pnv_phb3_bus_init(dev, (PnvPHB3 *)phb->backend); + } + + pnv_phb_attach_root_port(pci, phb_rootport_typename); +} + +static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, + PCIBus *rootbus) +{ + PnvPHB *phb =3D PNV_PHB(host_bridge); + + snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", + phb->chip_id, phb->phb_id); + return phb->bus_path; +} + +static Property pnv_phb_properties[] =3D { + DEFINE_PROP_UINT32("index", PnvPHB, phb_id, 0), + DEFINE_PROP_UINT32("chip-id", PnvPHB, chip_id, 0), + DEFINE_PROP_UINT32("version", PnvPHB, version, 0), + + DEFINE_PROP_LINK("chip", PnvPHB, chip, TYPE_PNV_CHIP, PnvChip *), + + DEFINE_PROP_LINK("pec", PnvPHB, pec, TYPE_PNV_PHB4_PEC, + PnvPhb4PecState *), + + DEFINE_PROP_END_OF_LIST(), +}; + +static void pnv_phb_class_init(ObjectClass *klass, void *data) +{ + PCIHostBridgeClass *hc =3D PCI_HOST_BRIDGE_CLASS(klass); + DeviceClass *dc =3D DEVICE_CLASS(klass); + + hc->root_bus_path =3D pnv_phb_root_bus_path; + dc->realize =3D pnv_phb_realize; + device_class_set_props(dc, pnv_phb_properties); + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); + dc->user_creatable =3D true; +} + +static void pnv_phb_register_type(void) +{ + static const TypeInfo pnv_phb_type_info =3D { + .name =3D TYPE_PNV_PHB, + .parent =3D TYPE_PCIE_HOST_BRIDGE, + .instance_size =3D sizeof(PnvPHB), + .class_init =3D pnv_phb_class_init, + }; + + type_register_static(&pnv_phb_type_info); +} +type_init(pnv_phb_register_type) diff --git a/hw/pci-host/pnv_phb.h b/hw/pci-host/pnv_phb.h new file mode 100644 index 0000000000..a7cc8610e2 --- /dev/null +++ b/hw/pci-host/pnv_phb.h @@ -0,0 +1,39 @@ +/* + * QEMU PowerPC PowerNV Proxy PHB model + * + * Copyright (c) 2022, IBM Corporation. + * + * This code is licensed under the GPL version 2 or later. See the + * COPYING file in the top-level directory. + */ + +#ifndef PCI_HOST_PNV_PHB_H +#define PCI_HOST_PNV_PHB_H + +#include "hw/pci/pcie_host.h" +#include "hw/pci/pcie_port.h" +#include "qom/object.h" + +typedef struct PnvChip PnvChip; +typedef struct PnvPhb4PecState PnvPhb4PecState; + +struct PnvPHB { + PCIExpressHost parent_obj; + + uint32_t chip_id; + uint32_t phb_id; + uint32_t version; + char bus_path[8]; + + PnvChip *chip; + + PnvPhb4PecState *pec; + + /* The PHB backend (PnvPHB3, PnvPHB4 ...) being used */ + Object *backend; +}; + +#define TYPE_PNV_PHB "pnv-phb" +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB, PNV_PHB) + +#endif /* PCI_HOST_PNV_PHB_H */ --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034105; cv=none; d=zohomail.com; s=zohoarc; b=m9dcXvMch3x6jUPX04A3DutW7zwrcKC7OHb1cjMCMtwi5S9TR5L4Du7x44eAc4LvMQB3fzlNZPJ/7tAxi6IUdHXOjEJwlj1vkNlU74+izDH2jPqZ6sfrwJiX8cQsnurAqj51YihcUxlBYpFxwSwIEo0Nd7XkJy04+nzZm4cFzkM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034105; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SFFblAiaKG7VJmshF6eZpcZ+0cGDJ3xmDg40+wlQ7H8=; b=mW6l4phxQp/eoiklM+IV6h6oISHMuCEpB+JZh78Qi8OiSv1JwHUhsWojSN9Wg+va6kPOdqnHyuC5/kIHq0vCvWJDdiJheqXFBajt4xENj21hfPNkE1q/f2MubG0ZBfsEMvc9FDLdpys+m2aYv2d9HKi3sAZw0r3Wz9AY8fJ8hVw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034105192881.1469361159071; Tue, 31 May 2022 14:55:05 -0700 (PDT) Received: from localhost ([::1]:39040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9pP-0000tS-Nv for importer@patchew.org; Tue, 31 May 2022 17:55:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9k8-0000XA-6D; Tue, 31 May 2022 17:49:36 -0400 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]:37772) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9k6-0003LF-4K; Tue, 31 May 2022 17:49:35 -0400 Received: by mail-oi1-x22f.google.com with SMTP id s188so198506oie.4; Tue, 31 May 2022 14:49:33 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SFFblAiaKG7VJmshF6eZpcZ+0cGDJ3xmDg40+wlQ7H8=; b=qPDOPAmFU9PXzKe8bepY2XbbaEx/F1wxnsHXwHeoof0rdfFQp8/C85YNIuj6F2CYop EDVQSpe0V3E72bxvIdo+AM3ckuX+5XKWEecaNG5Q0sL+AabiYUIuOsCtCpM3c0e9tp8L t+mXvTHqqY6KKAkd0mZyF3ezn8GgRJOwX8O/sfY0CH6TczLr6kEtg6MlkOd2wseyqp6T thhilG2O8qgKEb8oYsXyWMNj7omHJiU6EKcVoT4xYMx7LQHqq785PEFz7l9rqC50eNsx IubQ/1bYKp9R52yghr999C4nK36GkHtWnL6A8ZTAUyZHRA0GTtcwOV8RK+pXXPF5x/9z 5Y9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SFFblAiaKG7VJmshF6eZpcZ+0cGDJ3xmDg40+wlQ7H8=; b=sghUHEDe0O4vWgw/Bc3ldH82Q9YHEjEmwY2FDSFjfH3fHDebD5pRgG5f5NuV9d+VSO mTfMgXzbHEDion8C5SVrPYja/raZOst337HsS6sPaarv6y6MRl7QTsX2sB2MZjngwiXn JQ2lavENbP3lPzhGNGJj4pjtHTXOe5EVDrlpzFnFmecVyjP+3CBtKjX6eqMtD21fHutu Ne/OOtnjgdnokAvinh4ahDrkwX3fnevFgJvJVs6EXjBIxs7cmojh+ea1aEQftEu+t4uy qb6VVAKgYnYEifCG82ITZGb33jOXW0l/iaaISocJguTou37LaAWfsUweYm99ZdhzYcxE tacQ== X-Gm-Message-State: AOAM530Gv8JkkT8fE4bk2cvPPQonavBCfMNd9iH7FH/me2o3nVaCd1zi kavzg8z3a4P1k+25ckkzY4FaE+rYKDuDyw== X-Google-Smtp-Source: ABdhPJzT9kbUmiy7XWwfc0e4RRnDxdFVO4J70IzPjJzAbqDtf/4+KODF55WlPtqG9oTt/MjXt/qmGg== X-Received: by 2002:a54:4383:0:b0:32c:80a:2f4d with SMTP id u3-20020a544383000000b0032c080a2f4dmr7552731oiv.272.1654033772615; Tue, 31 May 2022 14:49:32 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 04/16] ppc/pnv: change PnvPHB3 to be a PnvPHB backend Date: Tue, 31 May 2022 18:49:05 -0300 Message-Id: <20220531214917.31668-5-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::22f; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22f.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034106595100001 Content-Type: text/plain; charset="utf-8" We need a handful of changes that needs to be done in a single swoop to turn PnvPHB3 into a PnvPHB backend. In the PnvPHB3, since the PnvPHB device implements PCIExpressHost and will hold the PCI bus, change PnvPHB3 parent to TYPE_DEVICE. There are a couple of instances in pnv_phb3.c that needs to access the PCI bus, so a phb_base pointer is added to allow access to the parent PnvPHB. The PnvPHB3 root port will now be connected to a PnvPHB object. In pnv.c, the powernv8 machine chip8 will now hold an array of PnvPHB objects. pnv_get_phb3_child() needs to be adapted to return the PnvPHB3 backend from the PnvPHB child. A global property is added in pnv_machine_power8_class_init() to ensure that all PnvPHBs are created with phb->version =3D 3. After all these changes we're still able to boot a powernv8 machine with default settings. The real gain will come with user created PnvPHB devices, coming up next. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb3.c | 29 ++++++++--------------------- hw/ppc/pnv.c | 21 +++++++++++++++++---- include/hw/pci-host/pnv_phb3.h | 5 ++++- include/hw/ppc/pnv.h | 3 ++- 4 files changed, 31 insertions(+), 27 deletions(-) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index 60584e2aae..a39aa0e8c4 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -11,6 +11,7 @@ #include "qapi/visitor.h" #include "qapi/error.h" #include "hw/pci-host/pnv_phb3_regs.h" +#include "hw/pci-host/pnv_phb.h" #include "hw/pci-host/pnv_phb3.h" #include "hw/pci/pcie_host.h" #include "hw/pci/pcie_port.h" @@ -26,7 +27,7 @@ =20 static PCIDevice *pnv_phb3_find_cfg_dev(PnvPHB3 *phb) { - PCIHostState *pci =3D PCI_HOST_BRIDGE(phb); + PCIHostState *pci =3D PCI_HOST_BRIDGE(phb->phb_base); uint64_t addr =3D phb->regs[PHB_CONFIG_ADDRESS >> 3]; uint8_t bus, devfn; =20 @@ -590,7 +591,7 @@ void pnv_phb3_reg_write(void *opaque, hwaddr off, uint6= 4_t val, unsigned size) uint64_t pnv_phb3_reg_read(void *opaque, hwaddr off, unsigned size) { PnvPHB3 *phb =3D opaque; - PCIHostState *pci =3D PCI_HOST_BRIDGE(phb); + PCIHostState *pci =3D PCI_HOST_BRIDGE(phb->phb_base); uint64_t val; =20 if ((off & 0xfffc) =3D=3D PHB_CONFIG_DATA) { @@ -1057,8 +1058,6 @@ static void pnv_phb3_realize(DeviceState *dev, Error = **errp) "phb3-regs", 0x1000); =20 pnv_phb3_bus_init(dev, phb); - - pnv_phb_attach_root_port(PCI_HOST_BRIDGE(phb), TYPE_PNV_PHB3_ROOT_PORT= ); } =20 void pnv_phb3_update_regions(PnvPHB3 *phb) @@ -1083,38 +1082,26 @@ void pnv_phb3_update_regions(PnvPHB3 *phb) pnv_phb3_check_all_m64s(phb); } =20 -static const char *pnv_phb3_root_bus_path(PCIHostState *host_bridge, - PCIBus *rootbus) -{ - PnvPHB3 *phb =3D PNV_PHB3(host_bridge); - - snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", - phb->chip_id, phb->phb_id); - return phb->bus_path; -} - static Property pnv_phb3_properties[] =3D { DEFINE_PROP_UINT32("index", PnvPHB3, phb_id, 0), DEFINE_PROP_UINT32("chip-id", PnvPHB3, chip_id, 0), DEFINE_PROP_LINK("chip", PnvPHB3, chip, TYPE_PNV_CHIP, PnvChip *), + DEFINE_PROP_LINK("phb-base", PnvPHB3, phb_base, TYPE_PNV_PHB, PnvP= HB *), DEFINE_PROP_END_OF_LIST(), }; =20 static void pnv_phb3_class_init(ObjectClass *klass, void *data) { - PCIHostBridgeClass *hc =3D PCI_HOST_BRIDGE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - hc->root_bus_path =3D pnv_phb3_root_bus_path; dc->realize =3D pnv_phb3_realize; device_class_set_props(dc, pnv_phb3_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->user_creatable =3D false; } =20 static const TypeInfo pnv_phb3_type_info =3D { .name =3D TYPE_PNV_PHB3, - .parent =3D TYPE_PCIE_HOST_BRIDGE, + .parent =3D TYPE_DEVICE, .instance_size =3D sizeof(PnvPHB3), .class_init =3D pnv_phb3_class_init, .instance_init =3D pnv_phb3_instance_init, @@ -1146,11 +1133,11 @@ static void pnv_phb3_root_port_realize(DeviceState = *dev, Error **errp) PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); PCIDevice *pci =3D PCI_DEVICE(dev); PCIBus *bus =3D pci_get_bus(pci); - PnvPHB3 *phb =3D NULL; + PnvPHB *phb =3D NULL; Error *local_err =3D NULL; =20 - phb =3D (PnvPHB3 *) object_dynamic_cast(OBJECT(bus->qbus.parent), - TYPE_PNV_PHB3); + phb =3D (PnvPHB *) object_dynamic_cast(OBJECT(bus->qbus.parent), + TYPE_PNV_PHB); =20 if (!phb) { error_setg(errp, diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index aaf4d241c3..6cd0af9adf 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -43,6 +43,7 @@ #include "hw/ipmi/ipmi.h" #include "target/ppc/mmu-hash64.h" #include "hw/pci/msi.h" +#include "hw/pci-host/pnv_phb.h" =20 #include "hw/ppc/xics.h" #include "hw/qdev-properties.h" @@ -654,7 +655,13 @@ static ISABus *pnv_isa_create(PnvChip *chip, Error **e= rrp) =20 static PnvPHB3 *pnv_get_phb3_child(Object *child) { - return (PnvPHB3 *)object_dynamic_cast(child, TYPE_PNV_PHB3); + PnvPHB *phb =3D (PnvPHB *) object_dynamic_cast(child, TYPE_PNV_PHB); + + if (!phb) { + return NULL; + } + + return (PnvPHB3 *)phb->backend; } =20 static int pnv_chip_power8_pic_print_info_child(Object *child, void *opaqu= e) @@ -1160,7 +1167,7 @@ static void pnv_chip_power8_instance_init(Object *obj) chip8->num_phbs =3D pcc->num_phbs; =20 for (i =3D 0; i < chip8->num_phbs; i++) { - object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_P= HB3); + object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_P= HB); } =20 } @@ -1282,9 +1289,9 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) memory_region_add_subregion(get_system_memory(), PNV_HOMER_BASE(chip), &chip8->homer.regs); =20 - /* PHB3 controllers */ + /* PHB controllers */ for (i =3D 0; i < chip8->num_phbs; i++) { - PnvPHB3 *phb =3D &chip8->phbs[i]; + PnvPHB *phb =3D &chip8->phbs[i]; =20 object_property_set_int(OBJECT(phb), "index", i, &error_fatal); object_property_set_int(OBJECT(phb), "chip-id", chip->chip_id, @@ -1957,6 +1964,7 @@ static int pnv_ics_get_child(Object *child, void *opa= que) args->ics =3D ICS(&phb3->msis); } } + return args->ics ? 1 : 0; } =20 @@ -2112,8 +2120,13 @@ static void pnv_machine_power8_class_init(ObjectClas= s *oc, void *data) PnvMachineClass *pmc =3D PNV_MACHINE_CLASS(oc); static const char compat[] =3D "qemu,powernv8\0qemu,powernv\0ibm,power= nv"; =20 + static GlobalProperty phb_compat[] =3D { + { TYPE_PNV_PHB, "version", "3" }, + }; + mc->desc =3D "IBM PowerNV (Non-Virtualized) POWER8"; mc->default_cpu_type =3D POWERPC_CPU_TYPE_NAME("power8_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat= )); =20 xic->icp_get =3D pnv_icp_get; xic->ics_get =3D pnv_ics_get; diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index 1375f18fc1..3b9ff1096a 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -14,6 +14,7 @@ #include "hw/pci/pcie_port.h" #include "hw/ppc/xics.h" #include "qom/object.h" +#include "hw/pci-host/pnv_phb.h" =20 typedef struct PnvPHB3 PnvPHB3; typedef struct PnvChip PnvChip; @@ -127,7 +128,9 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3) #define PCI_MMIO_TOTAL_SIZE (0x1ull << 60) =20 struct PnvPHB3 { - PCIExpressHost parent_obj; + DeviceState parent; + + PnvPHB *phb_base; =20 uint32_t chip_id; uint32_t phb_id; diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index 86cb7d7f97..4595db418e 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -32,6 +32,7 @@ #include "hw/ppc/pnv_core.h" #include "hw/pci-host/pnv_phb3.h" #include "hw/pci-host/pnv_phb4.h" +#include "hw/pci-host/pnv_phb.h" #include "qom/object.h" =20 #define TYPE_PNV_CHIP "pnv-chip" @@ -80,7 +81,7 @@ struct Pnv8Chip { PnvHomer homer; =20 #define PNV8_CHIP_PHB3_MAX 4 - PnvPHB3 phbs[PNV8_CHIP_PHB3_MAX]; + PnvPHB phbs[PNV8_CHIP_PHB3_MAX]; uint32_t num_phbs; =20 XICSFabric *xics; --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034354; cv=none; d=zohomail.com; s=zohoarc; b=mRgAoJkk7Qyce4UCx3h5jZQbw45PqYQ07BIa15yaoisjeTr3aHLkZoIf1wHVQP2wuI3WVp/uH1x0zCxU0mDDD9MjF8SgRHalbJt37YiiFfRpAo6PfLH4skj00e8yYrZi/AMz1vxhIWIGJmLICP7sG7w6nAIfDwPEM07L2yAKKDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034354; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TGsccvl0/Z5TFbhXHRfWk8dQ/8xooe+rIQdkjEGfRPw=; b=fvv9fSHPkjl9WV9e1FJZ+0DmeD5QWdDKRvyuSLXfeu2Qi15GQpB8WzCgjyKWFQXSlzIpuTMhZ/uExcJPI8R+3q5BmU2TVXugcbwh4G+Q4i5pBkqFvbXF8s6iBUI/5hdlThCpNKY2XfTQzCZTzKB40he7+c1iwTxQSDV0a0/9qMI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034354386683.9903375873491; Tue, 31 May 2022 14:59:14 -0700 (PDT) Received: from localhost ([::1]:47306 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9tR-0006jD-3P for importer@patchew.org; Tue, 31 May 2022 17:59:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kB-0000iE-O2; Tue, 31 May 2022 17:49:39 -0400 Received: from mail-oi1-x22a.google.com ([2607:f8b0:4864:20::22a]:39735) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9k9-0003La-U6; Tue, 31 May 2022 17:49:39 -0400 Received: by mail-oi1-x22a.google.com with SMTP id y131so187532oia.6; Tue, 31 May 2022 14:49:36 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TGsccvl0/Z5TFbhXHRfWk8dQ/8xooe+rIQdkjEGfRPw=; b=gF3ghEhH+eKYdgmYtJSLwK2EvVb24fzrzLOx8XQ9sZsTOb/XgFFzGandPkl/RZ+Oqe Ze6itijoy0Xj81BqJkmCBgC9nA26U7jMz9puNIRp+KxpHp1LX5t1G2mxEv2Pv/Mjd69M 1IMWHSfSmmsopzTGnFsO1wNkht4r6Xgo6SM7s6hadvRTWWW1fPRbKphM2Mj5xFiIwOIj haLJw5/YoTitTaIYv0WwRYyHPP5/iLVtwQ6KDEAPVXRmOH/bPago2nlmbNrCjI11qdrY 69kPIqXk5FkcA/iK7H6KFFYsw2B4JTlHtl8D9toKjZ3+EHYFrlum+i6WvMihVqXosT5r iHLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TGsccvl0/Z5TFbhXHRfWk8dQ/8xooe+rIQdkjEGfRPw=; b=oavASVr+puTs6fjMPF5rJYbvbrzCS38oeWtmFSaLc38bskv1Ibn08JaFfSgN4Sn1sj ph3MfoXqWIJ0rWIBB38vcA3zV5D1hlJnDi50DI3ZcmFWsNli3rjXkOFdyNyCQ7gnZTJP 3JSEqoun+iDEc0/yw4SUcWeU5CACMO12pwpQpwC5g7WvyfB6+Yyr+FSDWw+rYzjHU88y R1+H67mz0H5CPxUZOLyqywDLsSHvxp5Tm9yAUhCXqCkvBE+rVULm4u4GEjYdrxrIasrB uYJJ3+okxWr+/SIFQaG6IEi2xb1KZVUy4oD5SitAULwhzy4DAFfGwIRKvMBfZJotpyNs 9qtw== X-Gm-Message-State: AOAM531YmexNPIZNqlm4+0FLyCcbjYv7bD8Mik3e83jkw70rstOzWEyR 65iHvVgVlsZeBbv6xTA0CDrvcqth6jyb3Q== X-Google-Smtp-Source: ABdhPJy3q2kk7scaR38HJJkRvgPc5iuzmHi+oLkbtuzKP6wZNppea5IpUfHIZ9AjGMX9WJbtbCsSzA== X-Received: by 2002:a05:6808:1a01:b0:32b:1f24:9213 with SMTP id bk1-20020a0568081a0100b0032b1f249213mr12921002oib.92.1654033775336; Tue, 31 May 2022 14:49:35 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 05/16] ppc/pnv: user created pnv-phb for powernv8 Date: Tue, 31 May 2022 18:49:06 -0300 Message-Id: <20220531214917.31668-6-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::22a; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034354844100001 Content-Type: text/plain; charset="utf-8" Let's reintroduce the powernv8 bits of the code what was removed in commit 9c10d86fee "ppc/pnv: Remove user-created PHB{3,4,5} devices", allowing us to enable user creatable pnv-phb devices for the powernv8 machine. The difference is that this time we're adding support for a PnvPHB device that is the same that will be used by the other powernv machines, allowing the user to deal with a single PnvPHB device instead of versioned PHBs for each one. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 5 ++++- hw/pci-host/pnv_phb3.c | 26 +++++++++++++++++++++++++- hw/ppc/pnv.c | 23 ++++++++++++++++++++++- include/hw/ppc/pnv.h | 1 + 4 files changed, 52 insertions(+), 3 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index fa8472622f..17532d25f0 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -17,6 +17,7 @@ #include "hw/ppc/pnv.h" #include "hw/qdev-properties.h" #include "qom/object.h" +#include "sysemu/sysemu.h" =20 =20 static void pnv_phb_realize(DeviceState *dev, Error **errp) @@ -71,7 +72,9 @@ static void pnv_phb_realize(DeviceState *dev, Error **err= p) pnv_phb3_bus_init(dev, (PnvPHB3 *)phb->backend); } =20 - pnv_phb_attach_root_port(pci, phb_rootport_typename); + if (defaults_enabled()) { + pnv_phb_attach_root_port(pci, phb_rootport_typename); + } } =20 static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index a39aa0e8c4..839c2dad00 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -1015,6 +1015,30 @@ static void pnv_phb3_realize(DeviceState *dev, Error= **errp) PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); int i; =20 + /* User created devices */ + if (!phb->chip) { + Error *local_err =3D NULL; + BusState *s; + + phb->chip =3D pnv_get_chip(pnv, phb->chip_id); + if (!phb->chip) { + error_setg(errp, "invalid chip id: %d", phb->chip_id); + return; + } + + /* + * Reparent user created devices to the chip to build + * correctly the device tree. + */ + pnv_chip_parent_fixup(phb->chip, OBJECT(phb->phb_base), phb->phb_i= d); + + s =3D qdev_get_parent_bus(DEVICE(phb->chip)); + if (!qdev_set_parent_bus(DEVICE(phb->phb_base), s, &local_err)) { + error_propagate(errp, local_err); + return; + } + } + if (phb->phb_id >=3D PNV_CHIP_GET_CLASS(phb->chip)->num_phbs) { error_setg(errp, "invalid PHB index: %d", phb->phb_id); return; @@ -1167,7 +1191,7 @@ static void pnv_phb3_root_port_class_init(ObjectClass= *klass, void *data) =20 device_class_set_parent_realize(dc, pnv_phb3_root_port_realize, &rpc->parent_realize); - dc->user_creatable =3D false; + dc->user_creatable =3D true; =20 k->vendor_id =3D PCI_VENDOR_ID_IBM; k->device_id =3D 0x03dc; diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 6cd0af9adf..081b6839cc 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1164,7 +1164,9 @@ static void pnv_chip_power8_instance_init(Object *obj) =20 object_initialize_child(obj, "homer", &chip8->homer, TYPE_PNV8_HOMER); =20 - chip8->num_phbs =3D pcc->num_phbs; + if (defaults_enabled()) { + chip8->num_phbs =3D pcc->num_phbs; + } =20 for (i =3D 0; i < chip8->num_phbs; i++) { object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_P= HB); @@ -1990,6 +1992,23 @@ static ICSState *pnv_ics_get(XICSFabric *xi, int irq) return NULL; } =20 +void pnv_chip_parent_fixup(PnvChip *chip, Object *obj, int index) +{ + Object *parent =3D OBJECT(chip); + g_autofree char *default_id =3D + g_strdup_printf("%s[%d]", object_get_typename(obj), index); + + if (obj->parent =3D=3D parent) { + return; + } + + object_ref(obj); + object_unparent(obj); + object_property_add_child( + parent, DEVICE(obj)->id ? DEVICE(obj)->id : default_id, obj); + object_unref(obj); +} + PnvChip *pnv_get_chip(PnvMachineState *pnv, uint32_t chip_id) { int i; @@ -2134,6 +2153,8 @@ static void pnv_machine_power8_class_init(ObjectClass= *oc, void *data) =20 pmc->compat =3D compat; pmc->compat_size =3D sizeof(compat); + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } =20 static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index 4595db418e..fc95b8cfaa 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -191,6 +191,7 @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10, =20 PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir); void pnv_phb_attach_root_port(PCIHostState *pci, const char *name); +void pnv_chip_parent_fixup(PnvChip *chip, Object *obj, int index); =20 #define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv") typedef struct PnvMachineClass PnvMachineClass; --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034589; cv=none; d=zohomail.com; s=zohoarc; b=BaLgeeNqpiagpzwCGLckx8Lz31/vKO435hQp6PkU0jhSXPOFZw+tQA76ZldbADHGcUdb0QOlkYphNLorssOTzw9emmwyDdDlh28I4pLJfNE9es/TsLb38DBCFPPqp9eHEZY0hzLWpvCNDApywNXQCnffiJUKc7AuEQB2m1XpQzE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034589; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EiH66L0+0N9gdm7IQoqKOa4YJRGGv3gQuLMWSbPdw40=; b=hixXxtzuTTyfDWa/S+uWlw0/5rVPacjcso+zt/C7ps7XcvH1DDjp7BSOG/iPmZLlazW3wofUf3izz6VIjCUJFVv99TsZRy3ss4DwdY8vhcu2xiyfWe0QZlFPiDlM48XFxS5Z0dIGzNIAYc969BhjsNQQKrnQtipT21jA9dQWAAE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034589202119.35092124086248; Tue, 31 May 2022 15:03:09 -0700 (PDT) Received: from localhost ([::1]:55782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9xE-0004Hg-4h for importer@patchew.org; Tue, 31 May 2022 18:03:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kD-0000ou-GT; Tue, 31 May 2022 17:49:41 -0400 Received: from mail-oa1-x30.google.com ([2001:4860:4864:20::30]:43154) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kB-0003Lv-MC; Tue, 31 May 2022 17:49:41 -0400 Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-f2bb84f9edso175426fac.10; Tue, 31 May 2022 14:49:38 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EiH66L0+0N9gdm7IQoqKOa4YJRGGv3gQuLMWSbPdw40=; b=iVjnf3swm1pMD5Yc+EpMglcT+pwtDfJmQ0RV1ZewD5qTVGYZpkJT+2HDiL4zZ/bGoa IJIK2NOy0h1add14mtNR/4kAYFRA5bRF4yMIxu9Ebs1e4tRtphyYgm5hrra19KCq+kdA ZCG3VP01pkKxwhDDMzyjYDqreil1+rk9PsR2ZOo5vu9TyNDHCfvtaFzX1nYWDKRdQboA qVTj4mGP8aKzWvMsZ3cXelk0JRd3RWtGzeAnmq5xyDFqEFBMxsDSrSTonBEqTB7RtteV K5XHwO85qU3NuF9eFrNFtzGIh1+/aROflmez0L4WXqOPgNEflsSOVyGY5q9HMjAYSGNY 97/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EiH66L0+0N9gdm7IQoqKOa4YJRGGv3gQuLMWSbPdw40=; b=QRAubwGC9VGB+wf86lehSCAGgBT06E3XeF2AaNEnAeDscvYUY629yywyjtuh1FTHZD 9Bp+BVwV8hab7J753YgCMGQrqummZinSJ/uYVMZtdurVltUY0aWj2fx9wWiLeXYLH1oW W87xxae1VFl/rv9Xfs/UeuZ7BUst6eMbvQNxcdGDZVoX4UsxCnAhpbfvYxhUS7Bt6HZi BNEmooIjKXpILewp2kyOsF8Iwx1wItNfW23wwhyBoCMQjt/2Ix7z5fsGGkaK/EZZ+2ju LSdxHJgACOQ5lql/rtNDFOLWgkZ7kVv6BChBsJhXqrqHe76AYKzmKmO20JD7iSzav3LE yAIQ== X-Gm-Message-State: AOAM533CwsK1AiHbzhWejUGxTQgngYh5+p5gwmbtjQ+viJ+VYsQqhaRt VrGY8pSFrYp9svADir+xkup5G09w0VduCg== X-Google-Smtp-Source: ABdhPJwGyc7jjJBrN7+FbySyHxLTMZNMRDIzE0APhUlc2TG2t/pfMHcjAsjLwh0SwwfCe8ywsTaQbA== X-Received: by 2002:a05:6871:782:b0:e9:6563:e477 with SMTP id o2-20020a056871078200b000e96563e477mr14890638oap.62.1654033777935; Tue, 31 May 2022 14:49:37 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 06/16] ppc/pnv: add PHB4 bus init helper Date: Tue, 31 May 2022 18:49:07 -0300 Message-Id: <20220531214917.31668-7-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2001:4860:4864:20::30; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x30.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034590598100001 Content-Type: text/plain; charset="utf-8" Similar to what we already did for the PnvPHB3 device, let's add a helper to init the bus when using a PnvPHB4. This helper will be used by PnvPHb when PnvPHB4 turns into a backend. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 2 ++ hw/pci-host/pnv_phb4.c | 34 ++++++++++++++++++++-------------- include/hw/pci-host/pnv_phb4.h | 1 + 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 17532d25f0..321c4e768a 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -70,6 +70,8 @@ static void pnv_phb_realize(DeviceState *dev, Error **err= p) =20 if (phb->version =3D=3D 3) { pnv_phb3_bus_init(dev, (PnvPHB3 *)phb->backend); + } else { + pnv_phb4_bus_init(dev, (PnvPHB4 *)phb->backend); } =20 if (defaults_enabled()) { diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 13ba9e45d8..ae5494fe72 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1544,29 +1544,16 @@ static void pnv_phb4_instance_init(Object *obj) object_initialize_child(obj, "source", &phb->xsrc, TYPE_XIVE_SOURCE); } =20 -static void pnv_phb4_realize(DeviceState *dev, Error **errp) +void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb) { - PnvPHB4 *phb =3D PNV_PHB4(dev); PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); - XiveSource *xsrc =3D &phb->xsrc; - int nr_irqs; char name[32]; =20 - /* Set the "big_phb" flag */ - phb->big_phb =3D phb->phb_id =3D=3D 0 || phb->phb_id =3D=3D 3; - - /* Controller Registers */ - snprintf(name, sizeof(name), "phb4-%d.%d-regs", phb->chip_id, - phb->phb_id); - memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb4_reg_ops, p= hb, - name, 0x2000); - /* * PHB4 doesn't support IO space. However, qemu gets very upset if * we don't have an IO region to anchor IO BARs onto so we just * initialize one which we never hook up to anything */ - snprintf(name, sizeof(name), "phb4-%d.%d-pci-io", phb->chip_id, phb->phb_id); memory_region_init(&phb->pci_io, OBJECT(phb), name, 0x10000); @@ -1582,6 +1569,25 @@ static void pnv_phb4_realize(DeviceState *dev, Error= **errp) 0, 4, TYPE_PNV_PHB4_ROOT_BUS); pci_setup_iommu(pci->bus, pnv_phb4_dma_iommu, phb); pci->bus->flags |=3D PCI_BUS_EXTENDED_CONFIG_SPACE; +} + +static void pnv_phb4_realize(DeviceState *dev, Error **errp) +{ + PnvPHB4 *phb =3D PNV_PHB4(dev); + XiveSource *xsrc =3D &phb->xsrc; + int nr_irqs; + char name[32]; + + /* Set the "big_phb" flag */ + phb->big_phb =3D phb->phb_id =3D=3D 0 || phb->phb_id =3D=3D 3; + + /* Controller Registers */ + snprintf(name, sizeof(name), "phb4-%d.%d-regs", phb->chip_id, + phb->phb_id); + memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb4_reg_ops, p= hb, + name, 0x2000); + + pnv_phb4_bus_init(dev, phb); =20 /* Setup XIVE Source */ if (phb->big_phb) { diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index 19dcbd6f87..90843ac3a9 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -157,6 +157,7 @@ struct PnvPHB4 { =20 void pnv_phb4_pic_print_info(PnvPHB4 *phb, Monitor *mon); int pnv_phb4_pec_get_phb_id(PnvPhb4PecState *pec, int stack_index); +void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb); extern const MemoryRegionOps pnv_phb4_xscom_ops; =20 /* --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034159; cv=none; d=zohomail.com; s=zohoarc; b=dcX+Z889KdOwjuefxLMIYd+DatMQE6vrsOYAT/q3AhjR0cT7QG0+hpZY7bnVdf6PY9iY7xWIU7/H3lYH27/LIESHiN+/+W3WCWZjp5wgBI0qYBKWFBeXa7tssvIctgYIPBBQPzHgEsPsLeBzG9sD5iicjcU9fYAvLknla57Yjj8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034159; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/nbSg1wNwZy94XSJbCOaEw3i/ElMD1AMFjgdqMAtI5E=; b=l2itCYCTeNHJsl6dRN3yPRfdFNDS1QGMEwQmuDuWIPM0kNEvroB4UNeCzSEKv9obW+CCbjUq6bycyNHqKi0wlwllsnfTaps3R3PpSuemePIGs3dRQjlRpjn5y3N692F4PowENv3lWnLUJqphrONahhlGkefYgggZjn/F8CyHL5M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034159453621.7604503917236; Tue, 31 May 2022 14:55:59 -0700 (PDT) Received: from localhost ([::1]:41108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9qI-0002Gz-AY for importer@patchew.org; Tue, 31 May 2022 17:55:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53138) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kG-00010e-JQ; Tue, 31 May 2022 17:49:44 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]:41691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kE-0003MH-0k; Tue, 31 May 2022 17:49:44 -0400 Received: by mail-oi1-x231.google.com with SMTP id r206so174978oib.8; Tue, 31 May 2022 14:49:41 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/nbSg1wNwZy94XSJbCOaEw3i/ElMD1AMFjgdqMAtI5E=; b=dDLqZkqJ9FTCbqd1QcW1tsoAyCv3WIlAHEIkEYWrJ64BXXFQgT223HQpPOurtpOVBH m0HdNFlkJR6PjHE1x4bTnIeXnT0RoV91ObWkcf30mNUnhgQkHagKAH19MSlVvMQX9L5Z tHq1zeU1HsAc7rrlObUWAVFvfEVSooPDcxleVeSq2JxDmWMXQ/sq82TpBP49nPR/JluW pmNYY93JeExYOnSH8e2iHai/usBLcGxO2hOzW2uoJ2HdwhuIpmnSLc6KmIc0VH+TQHEs iX0siIKIfXxhyThH8vYqEOFsS1Cu+mGQwhhwpsDr/R2Aid2FdU884yNPthOH0SXoHegp eNyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/nbSg1wNwZy94XSJbCOaEw3i/ElMD1AMFjgdqMAtI5E=; b=bmjfs8VtEJ7dvieFudzXofdr8TB1R91ZMblwNLsJjuna595Pl4D6WzsaEWqV+pyrph AhCro4jIaW5DkY4cNyex87ScetmbwCAfe2cQDvhEnPYeGtpSRfB7vesFzCW6IbGXhwCN ePA0uUQSdTs3sibm+skm1nja+Zppsg8I+rI1sZLIvDPxXE6cRvbfecVv+UH52z/dvnmL s1GpOlRBj2gfPj/sfnGJJNsdBVEKKRV1s+TW5VHCDW0XrH0F6ujeaiyWTTxSOgHAzrU7 gre5OjHS+KWFAHJ2flCm2HB0sHxT0dsgLaKYIlPHqYhGdmnxY71lM2OZiLxvfzYuC0HB mZ9A== X-Gm-Message-State: AOAM530nvYhU5DFaFptQI1uRDQ4mVoAfqwetuQ/bY2kiaC0aw3rfItdU DnDq39+CuccjQzt+Hau7VEcMC6gMuE2THg== X-Google-Smtp-Source: ABdhPJxfcfY7ajWkEeG6RfZXBE0aucNZBFHAuqI+MBR0saic2ORmUZLVZjQUYRdVmNuP9ZBIh1hetA== X-Received: by 2002:a05:6808:300f:b0:2fa:6fd5:9723 with SMTP id ay15-20020a056808300f00b002fa6fd59723mr13248416oib.202.1654033780443; Tue, 31 May 2022 14:49:40 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 07/16] ppc/pnv: change PnvPHB4 to be a PnvPHB backend Date: Tue, 31 May 2022 18:49:08 -0300 Message-Id: <20220531214917.31668-8-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::231; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x231.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034161481100001 Content-Type: text/plain; charset="utf-8" Change the parent type of the PnvPHB4 device to TYPE_PARENT since the PCI bus is going to be initialized by the PnvPHB parent. Functions that needs to access the bus via a PnvPHB4 object can do so via the phb4->phb_base pointer. pnv_phb4_pec now creates a PnvPHB object. The powernv9 machine class will create PnvPHB devices with version '4'. powernv10 will create using version '5'. Both are using global machine properties in their class_init() to do that. These changes will benefit us when adding PnvPHB user creatable devices for powernv9 and powernv10. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb4.c | 29 +++++++++-------------------- hw/pci-host/pnv_phb4_pec.c | 6 +----- hw/ppc/pnv.c | 20 +++++++++++++++++++- include/hw/pci-host/pnv_phb4.h | 5 ++++- 4 files changed, 33 insertions(+), 27 deletions(-) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index ae5494fe72..22cf1c2a5e 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -49,7 +49,7 @@ static inline uint64_t SETFIELD(uint64_t mask, uint64_t w= ord, =20 static PCIDevice *pnv_phb4_find_cfg_dev(PnvPHB4 *phb) { - PCIHostState *pci =3D PCI_HOST_BRIDGE(phb); + PCIHostState *pci =3D PCI_HOST_BRIDGE(phb->phb_base); uint64_t addr =3D phb->regs[PHB_CONFIG_ADDRESS >> 3]; uint8_t bus, devfn; =20 @@ -145,7 +145,7 @@ static uint64_t pnv_phb4_config_read(PnvPHB4 *phb, unsi= gned off, static void pnv_phb4_rc_config_write(PnvPHB4 *phb, unsigned off, unsigned size, uint64_t val) { - PCIHostState *pci =3D PCI_HOST_BRIDGE(phb); + PCIHostState *pci =3D PCI_HOST_BRIDGE(phb->phb_base); PCIDevice *pdev; =20 if (size !=3D 4) { @@ -166,7 +166,7 @@ static void pnv_phb4_rc_config_write(PnvPHB4 *phb, unsi= gned off, static uint64_t pnv_phb4_rc_config_read(PnvPHB4 *phb, unsigned off, unsigned size) { - PCIHostState *pci =3D PCI_HOST_BRIDGE(phb); + PCIHostState *pci =3D PCI_HOST_BRIDGE(phb->phb_base); PCIDevice *pdev; uint64_t val; =20 @@ -1608,16 +1608,6 @@ static void pnv_phb4_realize(DeviceState *dev, Error= **errp) pnv_phb4_xscom_realize(phb); } =20 -static const char *pnv_phb4_root_bus_path(PCIHostState *host_bridge, - PCIBus *rootbus) -{ - PnvPHB4 *phb =3D PNV_PHB4(host_bridge); - - snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", - phb->chip_id, phb->phb_id); - return phb->bus_path; -} - /* * Address base trigger mode (POWER10) * @@ -1702,19 +1692,18 @@ static Property pnv_phb4_properties[] =3D { DEFINE_PROP_UINT32("chip-id", PnvPHB4, chip_id, 0), DEFINE_PROP_LINK("pec", PnvPHB4, pec, TYPE_PNV_PHB4_PEC, PnvPhb4PecState *), + DEFINE_PROP_LINK("phb-base", PnvPHB4, phb_base, + TYPE_PNV_PHB, PnvPHB *), DEFINE_PROP_END_OF_LIST(), }; =20 static void pnv_phb4_class_init(ObjectClass *klass, void *data) { - PCIHostBridgeClass *hc =3D PCI_HOST_BRIDGE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); XiveNotifierClass *xfc =3D XIVE_NOTIFIER_CLASS(klass); =20 - hc->root_bus_path =3D pnv_phb4_root_bus_path; dc->realize =3D pnv_phb4_realize; device_class_set_props(dc, pnv_phb4_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->user_creatable =3D false; =20 xfc->notify =3D pnv_phb4_xive_notify; @@ -1722,7 +1711,7 @@ static void pnv_phb4_class_init(ObjectClass *klass, v= oid *data) =20 static const TypeInfo pnv_phb4_type_info =3D { .name =3D TYPE_PNV_PHB4, - .parent =3D TYPE_PCIE_HOST_BRIDGE, + .parent =3D TYPE_DEVICE, .instance_init =3D pnv_phb4_instance_init, .instance_size =3D sizeof(PnvPHB4), .class_init =3D pnv_phb4_class_init, @@ -1785,11 +1774,11 @@ static void pnv_phb4_root_port_realize(DeviceState = *dev, Error **errp) PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); PCIDevice *pci =3D PCI_DEVICE(dev); PCIBus *bus =3D pci_get_bus(pci); - PnvPHB4 *phb =3D NULL; + PnvPHB *phb =3D NULL; Error *local_err =3D NULL; =20 - phb =3D (PnvPHB4 *) object_dynamic_cast(OBJECT(bus->qbus.parent), - TYPE_PNV_PHB4); + phb =3D (PnvPHB *) object_dynamic_cast(OBJECT(bus->qbus.parent), + TYPE_PNV_PHB); =20 if (!phb) { error_setg(errp, "%s must be connected to pnv-phb4 buses", dev->id= ); diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 61bc0b503e..888ecbe8f3 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -115,8 +115,7 @@ static void pnv_pec_default_phb_realize(PnvPhb4PecState= *pec, int stack_no, Error **errp) { - PnvPhb4PecClass *pecc =3D PNV_PHB4_PEC_GET_CLASS(pec); - PnvPHB4 *phb =3D PNV_PHB4(qdev_new(pecc->phb_type)); + PnvPHB *phb =3D PNV_PHB(qdev_new(TYPE_PNV_PHB)); int phb_id =3D pnv_phb4_pec_get_phb_id(pec, stack_no); =20 object_property_add_child(OBJECT(pec), "phb[*]", OBJECT(phb)); @@ -130,9 +129,6 @@ static void pnv_pec_default_phb_realize(PnvPhb4PecState= *pec, if (!sysbus_realize(SYS_BUS_DEVICE(phb), errp)) { return; } - - /* Add a single Root port if running with defaults */ - pnv_phb_attach_root_port(PCI_HOST_BRIDGE(phb), pecc->rp_model); } =20 static void pnv_pec_realize(DeviceState *dev, Error **errp) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 081b6839cc..3b0b230e49 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -688,7 +688,14 @@ static void pnv_chip_power8_pic_print_info(PnvChip *ch= ip, Monitor *mon) static int pnv_chip_power9_pic_print_info_child(Object *child, void *opaqu= e) { Monitor *mon =3D opaque; - PnvPHB4 *phb4 =3D (PnvPHB4 *) object_dynamic_cast(child, TYPE_PNV_PHB4= ); + PnvPHB *phb =3D (PnvPHB *) object_dynamic_cast(child, TYPE_PNV_PHB); + PnvPHB4 *phb4; + + if (!phb) { + return 0; + } + + phb4 =3D (PnvPHB4 *)phb->backend; =20 if (phb4) { pnv_phb4_pic_print_info(phb4, mon); @@ -2164,8 +2171,14 @@ static void pnv_machine_power9_class_init(ObjectClas= s *oc, void *data) PnvMachineClass *pmc =3D PNV_MACHINE_CLASS(oc); static const char compat[] =3D "qemu,powernv9\0ibm,powernv"; =20 + static GlobalProperty phb_compat[] =3D { + { TYPE_PNV_PHB, "version", "4" }, + }; + mc->desc =3D "IBM PowerNV (Non-Virtualized) POWER9"; mc->default_cpu_type =3D POWERPC_CPU_TYPE_NAME("power9_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat= )); + xfc->match_nvt =3D pnv_match_nvt; =20 mc->alias =3D "powernv"; @@ -2182,8 +2195,13 @@ static void pnv_machine_power10_class_init(ObjectCla= ss *oc, void *data) XiveFabricClass *xfc =3D XIVE_FABRIC_CLASS(oc); static const char compat[] =3D "qemu,powernv10\0ibm,powernv"; =20 + static GlobalProperty phb_compat[] =3D { + { TYPE_PNV_PHB, "version", "5" }, + }; + mc->desc =3D "IBM PowerNV (Non-Virtualized) POWER10"; mc->default_cpu_type =3D POWERPC_CPU_TYPE_NAME("power10_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat= )); =20 pmc->compat =3D compat; pmc->compat_size =3D sizeof(compat); diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index 90843ac3a9..f22253358f 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -18,6 +18,7 @@ typedef struct PnvPhb4PecState PnvPhb4PecState; typedef struct PnvPhb4PecStack PnvPhb4PecStack; typedef struct PnvPHB4 PnvPHB4; +typedef struct PnvPHB PnvPHB; typedef struct PnvChip PnvChip; =20 /* @@ -78,7 +79,9 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4) #define PCI_MMIO_TOTAL_SIZE (0x1ull << 60) =20 struct PnvPHB4 { - PCIExpressHost parent_obj; + DeviceState parent; + + PnvPHB *phb_base; =20 uint32_t chip_id; uint32_t phb_id; --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034220; cv=none; d=zohomail.com; s=zohoarc; b=bTLtTTvt4851hGa3EsbLIO4oXQqFNASMvKW1c3gj1LfL0BYtj/0XPXkcdsdB0MGkJq8t/6W7FAEM540j38T38ZYu2C8lAMDu+78+vvYrAtInlXPgqlCI9LjFq6Oc1NsKjUTsTvwrAMLl0otS2xzVUB5UexA2SmgeXRNnhlUWItE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034220; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dm1g4djBxOWIBRn/0A0LxKf5sz0jsg/QCw9b46kxaQU=; b=dpEBoymvwh4NkEA7gSs3H3v1FKjsq63myHnfq6OUiKxq1JANZvi7d6SSo9hHK3FDcH6mKuxGTe/aS7s18P5FuRxqoix3msSjHa15h3oxZF2p9J6pDBpsc6SLiuf4t0F/OUG3rpTbPwXSM2w9CuNykqNuFUK4KWmK9xPLRAXV2ME= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 165403422062717.84953150396359; Tue, 31 May 2022 14:57:00 -0700 (PDT) Received: from localhost ([::1]:42610 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9rH-0003I1-3w for importer@patchew.org; Tue, 31 May 2022 17:56:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kI-00015n-GQ; Tue, 31 May 2022 17:49:46 -0400 Received: from mail-oi1-x22a.google.com ([2607:f8b0:4864:20::22a]:38716) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kG-0003Ms-O7; Tue, 31 May 2022 17:49:46 -0400 Received: by mail-oi1-x22a.google.com with SMTP id v9so195089oie.5; Tue, 31 May 2022 14:49:44 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dm1g4djBxOWIBRn/0A0LxKf5sz0jsg/QCw9b46kxaQU=; b=ftVUgkfrWRTHPdAtreXxad08CpWKPj/RifNitkCuQH6A7a7MRg0TLUSHB2tyQ3FhbC e3B85RfsKB5mb/8zWjNAkxwf2grsecPBlWdX31nkzlgy9ULThHDMHMnIr0TK5llgDhcf fYyrTy6TPaZbBU06n1cD3VOqupTuCSH1OxCMUdr3zB20wHqR1fI74XkGmFKxTtYTIlq6 R/n3lCqlY+0w9a5KyYOVBXwao5geJ780+7HyyYTCCGm2CuNN4larmxrlJjf7unpYqaIU pmAUMfNFHosCgeHRZrpOrKFcsny8477Nh5aDoYaYNQTmS5FQIG7Cc1CPbdLnvGHQItYF vE7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dm1g4djBxOWIBRn/0A0LxKf5sz0jsg/QCw9b46kxaQU=; b=HErU16P+UVVOZkzM3iw/SIyZm4TaP7h9mOA8S/OSvO8tNjem0a6nJDfd/TwFH4F7Hi TBIxvlyi9Qr4ySY/e40R4PaHYPEB5thM5nZxGJUv867icHsQ8hoJF5PmG+bdtwJoUPF1 W+pqy/5CbLzeXAqnS8/FWCPfckdxz3U21+7+14MUDPmNeoeQpiuNqszC4qmTY6CM2ZY+ 2EmSmIDulreR4ODYK8LYa4DD2QPIET7at5NZw2DZYDBsXWjDbN4XU+bGgCr2CqtfkuD9 xSVo5ham33eZONxPcaAGmCN6/gdEv1XwgP6u8Ms/zB+qJaHJcJEhcOP0WMAZdZZvvo58 tcxw== X-Gm-Message-State: AOAM5305PD3GAM/6MIebaANpjxtOSyR+BiYNjwRniepCqhMx+4PBLlLA 4tjnR0fopF7HzgLJCzkOEXknZzbLnVk6mw== X-Google-Smtp-Source: ABdhPJym4cTE/WBZwvMCkZ4rBz46Tko4NH91qoPQa2PGDCTSSYNX+914qxUtsfwSn/SXUDOKrDomdA== X-Received: by 2002:a05:6808:144d:b0:32b:7fbc:9440 with SMTP id x13-20020a056808144d00b0032b7fbc9440mr13136648oiv.226.1654033783208; Tue, 31 May 2022 14:49:43 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 08/16] ppc/pnv: user created pnv-phb for powernv9 Date: Tue, 31 May 2022 18:49:09 -0300 Message-Id: <20220531214917.31668-9-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::22a; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034221746100001 Content-Type: text/plain; charset="utf-8" To enable user creatable PnvPHB devices for powernv9 we'll revert the powernv9 related changes made in 9c10d86fee "ppc/pnv: Remove user-created PHB{3,4,5} devices". This change alone isn't enough to enable user creatable devices for powernv= 10 due to how pnv_phb4_get_pec() currently works. For now let's just enable it for powernv9 alone. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb4.c | 58 +++++++++++++++++++++++++++++++++++++- hw/pci-host/pnv_phb4_pec.c | 6 ++-- hw/ppc/pnv.c | 2 ++ 3 files changed, 63 insertions(+), 3 deletions(-) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 22cf1c2a5e..a5c8ae494b 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1571,13 +1571,69 @@ void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *p= hb) pci->bus->flags |=3D PCI_BUS_EXTENDED_CONFIG_SPACE; } =20 +static PnvPhb4PecState *pnv_phb4_get_pec(PnvChip *chip, PnvPHB4 *phb, + Error **errp) +{ + Pnv9Chip *chip9 =3D PNV9_CHIP(chip); + int chip_id =3D phb->chip_id; + int index =3D phb->phb_id; + int i, j; + + for (i =3D 0; i < chip->num_pecs; i++) { + /* + * For each PEC, check the amount of phbs it supports + * and see if the given phb4 index matches an index. + */ + PnvPhb4PecState *pec =3D &chip9->pecs[i]; + + for (j =3D 0; j < pec->num_phbs; j++) { + if (index =3D=3D pnv_phb4_pec_get_phb_id(pec, j)) { + return pec; + } + } + } + + error_setg(errp, + "pnv-phb4 chip-id %d index %d didn't match any existing PEC= ", + chip_id, index); + + return NULL; +} + static void pnv_phb4_realize(DeviceState *dev, Error **errp) { PnvPHB4 *phb =3D PNV_PHB4(dev); + PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); + PnvChip *chip =3D pnv_get_chip(pnv, phb->chip_id); XiveSource *xsrc =3D &phb->xsrc; + BusState *s; + Error *local_err =3D NULL; int nr_irqs; char name[32]; =20 + if (!chip) { + error_setg(errp, "invalid chip id: %d", phb->chip_id); + return; + } + + /* User created PHBs need to be assigned to a PEC */ + if (!phb->pec) { + phb->pec =3D pnv_phb4_get_pec(chip, phb, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + } + + /* Reparent the PHB to the chip to build the device tree */ + pnv_chip_parent_fixup(chip, OBJECT(phb->phb_base), phb->phb_id); + + s =3D qdev_get_parent_bus(DEVICE(chip)); + if (!qdev_set_parent_bus(DEVICE(phb->phb_base), s, &local_err)) { + error_propagate(errp, local_err); + return; + } + /* Set the "big_phb" flag */ phb->big_phb =3D phb->phb_id =3D=3D 0 || phb->phb_id =3D=3D 3; =20 @@ -1803,7 +1859,7 @@ static void pnv_phb4_root_port_class_init(ObjectClass= *klass, void *data) PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_CLASS(klass); =20 dc->desc =3D "IBM PHB4 PCIE Root Port"; - dc->user_creatable =3D false; + dc->user_creatable =3D true; =20 device_class_set_parent_realize(dc, pnv_phb4_root_port_realize, &rpc->parent_realize); diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 888ecbe8f3..0e67f3a338 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -146,8 +146,10 @@ static void pnv_pec_realize(DeviceState *dev, Error **= errp) pec->num_phbs =3D pecc->num_phbs[pec->index]; =20 /* Create PHBs if running with defaults */ - for (i =3D 0; i < pec->num_phbs; i++) { - pnv_pec_default_phb_realize(pec, i, errp); + if (defaults_enabled()) { + for (i =3D 0; i < pec->num_phbs; i++) { + pnv_pec_default_phb_realize(pec, i, errp); + } } =20 /* Initialize the XSCOM regions for the PEC registers */ diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 3b0b230e49..697a2b5302 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2186,6 +2186,8 @@ static void pnv_machine_power9_class_init(ObjectClass= *oc, void *data) pmc->compat =3D compat; pmc->compat_size =3D sizeof(compat); pmc->dt_power_mgt =3D pnv_dt_power_mgt; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } =20 static void pnv_machine_power10_class_init(ObjectClass *oc, void *data) --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034107; cv=none; d=zohomail.com; s=zohoarc; b=JFLB0g8f/Bz4pFH6A89hZk4ZZ23SxwXW6sg/EpDzWubbpzFmvNn1Pba/OCIaQ1jyoEN9afJtk+/limpF9xOIMg/5UCiSR8L5dbFBErV9vA6sYnsrvwm8E3et42zmLizloldwgbIMvGZ1KKuesuhAXEAkKmdxfVok4d8gyclaF0Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034107; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aVYHleY9lqsPK6rCR5/x5XotnJ/qLXEhT8k9XA3yAF0=; b=nO4KE0lGg3DXkLASvjYMZMOT4K53EKmJlLjonHgKkVi2rl+9AYGSH/u1VQoLu2xLMfF6nWh+bH/1z+22iFXURyZg54AEUbuSOQEecaEApNHcLoPijlbr47wdfB3l+s25UCmLNBze8DZletee1ZqYa/R4ixU72Khck/POG/X9CJA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034107889865.4046502039357; Tue, 31 May 2022 14:55:07 -0700 (PDT) Received: from localhost ([::1]:39150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9pS-0000y9-Cr for importer@patchew.org; Tue, 31 May 2022 17:55:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kK-0001Bp-V4; Tue, 31 May 2022 17:49:48 -0400 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]:46364) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kJ-0003NI-Ek; Tue, 31 May 2022 17:49:48 -0400 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-d39f741ba0so157540fac.13; Tue, 31 May 2022 14:49:46 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aVYHleY9lqsPK6rCR5/x5XotnJ/qLXEhT8k9XA3yAF0=; b=GgkX4LWvlJvG5wnFYesAm4TTOdpzZGh4mvkJ4BAAbwEgRjaZJ5CfANsxFO5sXtU7Fr +N1PYAkvYQ252N6cy0fF5nemxOkbn0jXpWdqC70lsrcFaFX7y19R9PFtwAtXjBUfl7Jd ssGc7TXXWC8uvPXSPjfE5b5haLuPd0RJx1cWO9xr+kVJk6a8WsADDrjmxn7NZnmq/3DD crBOWP4fTlbCbFE0d3QIvrXXCMJEa8J4qE1kRAs6PujtILPs5j2XgAXtgnN1TEo17tAC WZBCEGkmPkdZdJFWMW9vYbeSNz7MjnCi2GyevFef3aF6m2o8K8TGJUbP2Eg2AZ1FVXFp etvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aVYHleY9lqsPK6rCR5/x5XotnJ/qLXEhT8k9XA3yAF0=; b=Ay4+vX+qrDE0G3Xq6MU91F2LoDsr5PN53VDSFd9a8EvG01OzBK45xRplpkX37tHMDV wcHj1ouScAvJVdF6ThakpmJbZTvr9LMG+V4T7pYnZe0/4Pt+AdaGXX/pMhhIpchp14e4 vpoP21rFwHr2gyXTLcbWWZAYFXvXVrr19KMFVdMrpg5JFixDtMfEXqC+/VWsZEbf8Rf9 T86AjvvOnSExaS+wIXvPV3CFWdZsfRpGZzIOdwBvDEs+/4h4mBEnfy2mhRPzO9j1IatG mT1n+Slnsk+FXkROlY9IMN19KmsVTofuUJUmQAcWoNTFDBUOnxesn9DQFAqrdMekYRvE sBLg== X-Gm-Message-State: AOAM532mH3o9QVXJPfRiwY4svp/OEXKxDS1kUZN7wO5vJVSbb3guxNU+ IUh51Y5yg3rGt1vYq00vjXM1o1VWzFD/tw== X-Google-Smtp-Source: ABdhPJw5HXulKjloX4dyOir1Le9y+B10K1oSa5LGBQAi0k/IJ1I93pMIwpjEkhgFz1tslPasOqYy9w== X-Received: by 2002:a05:6871:88d:b0:f3:3341:77e2 with SMTP id r13-20020a056871088d00b000f3334177e2mr6978579oaq.124.1654033785783; Tue, 31 May 2022 14:49:45 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 09/16] ppc/pnv: change pnv_phb4_get_pec() to also retrieve chip10->pecs Date: Tue, 31 May 2022 18:49:10 -0300 Message-Id: <20220531214917.31668-10-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2001:4860:4864:20::2f; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x2f.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034108562100003 Content-Type: text/plain; charset="utf-8" The function assumes that we're always dealing with a PNV9_CHIP() object. This is not the case when the pnv-phb device belongs to a powernv10 machine. Change pnv_phb4_get_pec() to be able to work with PNV10_CHIP() if necessary. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb4.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index a5c8ae494b..e953aabcbe 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1574,17 +1574,30 @@ void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *p= hb) static PnvPhb4PecState *pnv_phb4_get_pec(PnvChip *chip, PnvPHB4 *phb, Error **errp) { - Pnv9Chip *chip9 =3D PNV9_CHIP(chip); + PnvPHB *phb_base =3D phb->phb_base; + PnvPhb4PecState *pecs =3D NULL; int chip_id =3D phb->chip_id; int index =3D phb->phb_id; int i, j; =20 + if (phb_base->version =3D=3D 4) { + Pnv9Chip *chip9 =3D PNV9_CHIP(chip); + + pecs =3D chip9->pecs; + } else if (phb_base->version =3D=3D 5) { + Pnv10Chip *chip10 =3D PNV10_CHIP(chip); + + pecs =3D chip10->pecs; + } else { + return NULL; + } + for (i =3D 0; i < chip->num_pecs; i++) { /* * For each PEC, check the amount of phbs it supports * and see if the given phb4 index matches an index. */ - PnvPhb4PecState *pec =3D &chip9->pecs[i]; + PnvPhb4PecState *pec =3D &pecs[i]; =20 for (j =3D 0; j < pec->num_phbs; j++) { if (index =3D=3D pnv_phb4_pec_get_phb_id(pec, j)) { --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034799; cv=none; d=zohomail.com; s=zohoarc; b=hzK1voTIJUgf0A9LclcZV0xl9TORdl8vivX8+JXucAgFo5QbIC9GEWLInjl8PF+qsZJIcMTO54qpJhCwK5CRD7XY1HOpvFnuHJ2PZcvfUAVr+8ZqOApYlfj225zuYgdVa7hTcGN/BoUklnNHwpA9UAQR08obw4TXmjiOWpIXOGc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034799; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EYwRgrfp2jDsmjKY4q+HaGJtVpSXvdhqen5h2JILt0g=; b=TlfuDxstFCkV0eeuXQQIKGnrPelrSi1q7kP5S1Q2faxGYWJfYIAlMDWG0Vs+dxOp1+yf6cO6XwnBRjOho2upZv2BuPbiMLhBRpBejX2Zkmd/F4INWAVPXZxezQ2MlB7Dz3eSNNtzQ8a45Mr/7bZbPpgH6xyBPK0bem+lpqMDsDI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034799289497.5977186952389; Tue, 31 May 2022 15:06:39 -0700 (PDT) Received: from localhost ([::1]:33226 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nwA0c-0008KH-4r for importer@patchew.org; Tue, 31 May 2022 18:06:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kN-0001IA-MV; Tue, 31 May 2022 17:49:51 -0400 Received: from mail-oi1-x22a.google.com ([2607:f8b0:4864:20::22a]:39735) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kM-0003La-3M; Tue, 31 May 2022 17:49:51 -0400 Received: by mail-oi1-x22a.google.com with SMTP id y131so187532oia.6; Tue, 31 May 2022 14:49:48 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EYwRgrfp2jDsmjKY4q+HaGJtVpSXvdhqen5h2JILt0g=; b=dFWROts1/hyD9Koht0YgU0hy4ymsQBSrKOJnuErBtARHzvYL85oNyVPyLujojaWBJS oaaGirx0pHBOZufdl3SpDnoyii6WNjVs/e1qbF/Y6GXZuvKzLQllH08pgr64dYrfYtz8 JF7kMLrk+HEEAvSrTLrBC1s2kMIHGEZEHJENDRgXcJF5ivIhFUCV6FkIkBCAS6J3oyqH YTJklVMM0eiH9P8wibUi3SWSylsGiigstTSyzWTfkzi+c8OrFtCE00g7bNUBhknAamc4 Owk1gNYniBKg95dkBVMGYSLjIW8hakhROwKSf/We1Z2UtISMtK9iMCM8urxpYhQssgl3 hLXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EYwRgrfp2jDsmjKY4q+HaGJtVpSXvdhqen5h2JILt0g=; b=MGR2wPU+omSmnS1XbIbvQKa0z3DXn9ERmaknu+LJ4tjy7i/uakuBCgLtJsPg/xQnQL ywPHguUbJ1vB7/gHLw3zk8yS+LmKTIxgQ11nEAARl8WM/7Or2opdRuhoCslhZhI8Ncz1 IwFPUe2Tnu4zQ/tti+xwtV3/BkpYqfnv9vMAjeG0e3ZsI/c8W3V8wg8CfJ8V89vvmX38 EvbgGkXdmAxJULO6NKkFjQhuhESAPVRtjDgQdJtRai+nJ3dlH+tuTVjGBux2k1mYiCQn xtUVVJGk2VzLtRfoHDjAa+nFHwt7Xg4mnl3bEajuwIxTllN8UIbSvsSYeGnhWnWSJG0x d34A== X-Gm-Message-State: AOAM530VCJ37QvZ/ayczw0MH1AMNbEeJPrlPWo3jZIhuFKXqQyc03oru 8FivcozUtU7+TME+8AUV8TahAtbEbIYzGw== X-Google-Smtp-Source: ABdhPJwmJ5geswipPUULOaRPkxYvBJmLhzPiyCCpY8v9AjdlD1WL2gCiF46g/o7JxqQ2f9LjTGFekQ== X-Received: by 2002:a05:6808:179e:b0:32b:7c3d:f431 with SMTP id bg30-20020a056808179e00b0032b7c3df431mr13750174oib.299.1654033788440; Tue, 31 May 2022 14:49:48 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 10/16] ppc/pnv: user creatable pnv-phb for powernv10 Date: Tue, 31 May 2022 18:49:11 -0300 Message-Id: <20220531214917.31668-11-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::22a; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034801741100002 Content-Type: text/plain; charset="utf-8" Given that powernv9 and powernv10 uses the same pnv-phb backend, the logic to allow user created pnv-phbs for powernv10 is already in place. This patch just flips the switch. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb4.c | 2 +- hw/ppc/pnv.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index e953aabcbe..8a907a77a7 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1902,7 +1902,7 @@ static void pnv_phb5_root_port_class_init(ObjectClass= *klass, void *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 dc->desc =3D "IBM PHB5 PCIE Root Port"; - dc->user_creatable =3D false; + dc->user_creatable =3D true; =20 k->vendor_id =3D PCI_VENDOR_ID_IBM; k->device_id =3D PNV_PHB5_DEVICE_ID; diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 697a2b5302..4d2ea405db 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2210,6 +2210,8 @@ static void pnv_machine_power10_class_init(ObjectClas= s *oc, void *data) pmc->dt_power_mgt =3D pnv_dt_power_mgt; =20 xfc->match_nvt =3D pnv10_xive_match_nvt; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } =20 static bool pnv_machine_get_hb(Object *obj, Error **errp) --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034436; cv=none; d=zohomail.com; s=zohoarc; b=m2Sj9xS1NoDAFiolD1qoD7xMkMR1tb0cY4ORBAlI7UQSuBeUQ7m8MngMlixrLScUDj1UTlxDUw2TVaVFApLK6LYa8h0COB867mxU6DOi0/+Y5nnksLPEdErOMO/DgRDSPvEEZS5GitmvMYowhkaP8dJ5xDVehe4Hz/cZ+q0j4u4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034436; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8EdwNlLwAv/4LMWXYKNJDQVdPyRBp++9dLk5EU9vCP4=; b=lCuLMEmQO87XN0w/c6NudYc+E06G+nTMLMsDxogW2CKT+eKejVFuJzV+hWO+TCrlrkVYnD4Csmd9ONQIZNBKbrnJzi9YJg8Qi7D3FqPOspp06UhtCgZ+dcW9UcUUbcJvgTcFht64nsnpQOrxqQX00hdUW4HmnE6qbHNObFvYZNk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034436062318.05069697412625; Tue, 31 May 2022 15:00:36 -0700 (PDT) Received: from localhost ([::1]:50922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9uk-0000mX-W4 for importer@patchew.org; Tue, 31 May 2022 18:00:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53236) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kQ-0001SG-J4; Tue, 31 May 2022 17:49:54 -0400 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]:37627) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kO-0003PD-Mn; Tue, 31 May 2022 17:49:54 -0400 Received: by mail-ot1-x32b.google.com with SMTP id l9-20020a056830268900b006054381dd35so10496512otu.4; Tue, 31 May 2022 14:49:51 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8EdwNlLwAv/4LMWXYKNJDQVdPyRBp++9dLk5EU9vCP4=; b=XTgzGtAKx3O/WEfyYHiZAVAg/39st7obHyNNOuMhkzSnCfO7aYONmSVTECTXA0hX28 Anwi24lDfpAcUYpbclZhDclYlQHirc3IQ/DhHrlKkiQb664l45fNAZWT8RWuPOCmqM5v S0jBSBjcaccGdct41t4lj4DRFvOYnomBhL7TIzvvp9zJ4PdU8fZJFaoauYvE4TuVL5N7 s0QIC31GLxdxLMoaO6cRZqUIZB1Ef9lyaGQqlnrMrSTFrT9JbzJaLawj2h8/8qUXXP0w Nfhbv4SbCSdMQy68svwviKqswMqduyQQFtZ8beacCgkKpZ2qeb7fkz2pWrvB4vfjf2OV RLsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8EdwNlLwAv/4LMWXYKNJDQVdPyRBp++9dLk5EU9vCP4=; b=VP+rdZvqXtsHQzCFF+J1RV2iYJ9QQwEY4ynfmAVmo9aCKveYWK9ZKmNxRiu9hC3hIt lA+bh6ze8v9b/lgXgJDkzPFiqPf1vknegy8+giqpc8PBPuvwNmQX725ZFxPVUMU6HFfH yAgR/SKD9n9gUS5/IkQLLgTRIUx5P1IDDq6Oi9qEAX4R5F1witUvWiQ9eHDr9KWgywsJ ook7fqr4LaW+AuMnbQqXvIpWbuDeeKdtjb8JaohgcAn6CzC+yNC/YtKxjaoN1O1VPeE5 gwlcLKrgk3DjVXE8vn0aabti895QW2hDAW9R76z1ZHj7w4gePH6WjJXaGIolY6KIvaJT z9WA== X-Gm-Message-State: AOAM531uQnNutPR1O+0SH5bZjInUJlRMbxD2NgfcJT6YzPyeaJvntgls qEbrRy/61+WpglYEtpVwzJ4RXPUw9JLhRQ== X-Google-Smtp-Source: ABdhPJxoZJiH1UK+dR1Wz9MRU7yf69ZpI+VaR1zfTt9xTX84Eb11bXgoUEzl3nbrF06Hs3gDt681+Q== X-Received: by 2002:a9d:7457:0:b0:60b:18f3:419e with SMTP id p23-20020a9d7457000000b0060b18f3419emr16839104otk.183.1654033791009; Tue, 31 May 2022 14:49:51 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 11/16] ppc/pnv: add pnv-phb-root-port device Date: Tue, 31 May 2022 18:49:12 -0300 Message-Id: <20220531214917.31668-12-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::32b; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x32b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034437607100001 Content-Type: text/plain; charset="utf-8" We have two very similar root-port devices, pnv-phb3-root-port and pnv-phb4-root-port. Both consist of a wrapper around the PCIESlot device that, until now, has no additional attributes. The main difference between the PHB3 and PHB4 root ports is that pnv-phb4-root-port has the pnv_phb4_root_port_reset() callback. All other differences can be merged in a single device without too much trouble. This patch introduces the unified pnv-phb-root-port that, in time, will be used as the default root port for the pnv-phb device. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 107 ++++++++++++++++++++++++++++++++++++++---- hw/pci-host/pnv_phb.h | 17 +++++++ 2 files changed, 116 insertions(+), 8 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 321c4e768a..5047e90d3a 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -114,15 +114,106 @@ static void pnv_phb_class_init(ObjectClass *klass, v= oid *data) dc->user_creatable =3D true; } =20 -static void pnv_phb_register_type(void) +static void pnv_phb_root_port_reset(DeviceState *dev) { - static const TypeInfo pnv_phb_type_info =3D { - .name =3D TYPE_PNV_PHB, - .parent =3D TYPE_PCIE_HOST_BRIDGE, - .instance_size =3D sizeof(PnvPHB), - .class_init =3D pnv_phb_class_init, - }; + PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); + PnvPHBRootPort *rootport =3D PNV_PHB_ROOT_PORT(dev); + PCIDevice *d =3D PCI_DEVICE(dev); + uint8_t *conf =3D d->config; =20 + rpc->parent_reset(dev); + + if (rootport->version =3D=3D 3) { + return; + } + + /* PHB4 and later requires these extra reset steps */ + pci_byte_test_and_set_mask(conf + PCI_IO_BASE, + PCI_IO_RANGE_MASK & 0xff); + pci_byte_test_and_clear_mask(conf + PCI_IO_LIMIT, + PCI_IO_RANGE_MASK & 0xff); + pci_set_word(conf + PCI_MEMORY_BASE, 0); + pci_set_word(conf + PCI_MEMORY_LIMIT, 0xfff0); + pci_set_word(conf + PCI_PREF_MEMORY_BASE, 0x1); + pci_set_word(conf + PCI_PREF_MEMORY_LIMIT, 0xfff1); + pci_set_long(conf + PCI_PREF_BASE_UPPER32, 0x1); /* Hack */ + pci_set_long(conf + PCI_PREF_LIMIT_UPPER32, 0xffffffff); + pci_config_set_interrupt_pin(conf, 0); +} + +static void pnv_phb_root_port_realize(DeviceState *dev, Error **errp) +{ + PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); + PCIDevice *pci =3D PCI_DEVICE(dev); + PCIBus *bus =3D pci_get_bus(pci); + PnvPHB *phb =3D NULL; + Error *local_err =3D NULL; + + phb =3D (PnvPHB *) object_dynamic_cast(OBJECT(bus->qbus.parent), + TYPE_PNV_PHB); + + if (!phb) { + error_setg(errp, +"pnv_phb_root_port devices must be connected to pnv-phb buses"); + return; + } + + /* Set unique chassis/slot values for the root port */ + qdev_prop_set_uint8(&pci->qdev, "chassis", phb->chip_id); + qdev_prop_set_uint16(&pci->qdev, "slot", phb->phb_id); + + rpc->parent_realize(dev, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + pci_config_set_interrupt_pin(pci->config, 0); +} + +static void pnv_phb_root_port_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); + PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_CLASS(klass); + + dc->desc =3D "IBM PHB PCIE Root Port"; + + device_class_set_parent_realize(dc, pnv_phb_root_port_realize, + &rpc->parent_realize); + + device_class_set_parent_reset(dc, pnv_phb_root_port_reset, + &rpc->parent_reset); + dc->reset =3D &pnv_phb_root_port_reset; + + dc->user_creatable =3D true; + + k->vendor_id =3D PCI_VENDOR_ID_IBM; + /* device_id represents the latest PHB root port version supported */ + k->device_id =3D PNV_PHB5_DEVICE_ID; + k->revision =3D 0; + + rpc->exp_offset =3D 0x48; + rpc->aer_offset =3D 0x100; +} + +static const TypeInfo pnv_phb_type_info =3D { + .name =3D TYPE_PNV_PHB, + .parent =3D TYPE_PCIE_HOST_BRIDGE, + .instance_size =3D sizeof(PnvPHB), + .class_init =3D pnv_phb_class_init, +}; + +static const TypeInfo pnv_phb_root_port_info =3D { + .name =3D TYPE_PNV_PHB_ROOT_PORT, + .parent =3D TYPE_PCIE_ROOT_PORT, + .instance_size =3D sizeof(PnvPHBRootPort), + .class_init =3D pnv_phb_root_port_class_init, +}; + +static void pnv_phb_register_types(void) +{ type_register_static(&pnv_phb_type_info); + type_register_static(&pnv_phb_root_port_info); } -type_init(pnv_phb_register_type) + +type_init(pnv_phb_register_types) diff --git a/hw/pci-host/pnv_phb.h b/hw/pci-host/pnv_phb.h index a7cc8610e2..c8eab4b767 100644 --- a/hw/pci-host/pnv_phb.h +++ b/hw/pci-host/pnv_phb.h @@ -36,4 +36,21 @@ struct PnvPHB { #define TYPE_PNV_PHB "pnv-phb" OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB, PNV_PHB) =20 +/* + * PHB PCIe Root port + */ +#define PNV_PHB3_DEVICE_ID 0x03dc +#define PNV_PHB4_DEVICE_ID 0x04c1 +#define PNV_PHB5_DEVICE_ID 0x0652 + +typedef struct PnvPHBRootPort { + PCIESlot parent_obj; + + uint32_t version; +} PnvPHBRootPort; + +#define TYPE_PNV_PHB_ROOT_PORT "pnv-phb-root-port" +#define PNV_PHB_ROOT_PORT(obj) \ + OBJECT_CHECK(PnvPHBRootPort, obj, TYPE_PNV_PHB_ROOT_PORT) + #endif /* PCI_HOST_PNV_PHB_H */ --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034375; cv=none; d=zohomail.com; s=zohoarc; b=cPjD284vfhwIPVtaxjVNRdaEobiKXMbZm9OkOvASmLL3rV+Gz1mdAs1ITiBPtNBDH3jjq9ajyh+keIofEippI9T8c+JvLJ+fkQIph7H1lA9aIzyQ2MdqcdRTBu4lDnWUfMrWAJfN+lHRmzauQRK86ae06nW8bjraMhlhDpaIlNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034375; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xHThTlVQRxDCWZ0rxMcqazvC0wxOx9NlP2zJs7vmJj4=; b=X8Vma9nO6zNaRskphSjbTFX2Vw6/NhBb3hz72jNALmURyEjKrbJ+Tzm9qAxOItcyZndK0eaV++PDgSu4/3FjY73vO2849bcS7RhRIjyasH5bNBQBQVOM0L0dMTuUqom04WldS5pxfhRODKsRCFkEvTXsndXbq0SvpdTlvrBZ9Js= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034375882941.2222313317608; Tue, 31 May 2022 14:59:35 -0700 (PDT) Received: from localhost ([::1]:48986 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9tm-0007ui-Si for importer@patchew.org; Tue, 31 May 2022 17:59:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53250) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kS-0001ZQ-DO; Tue, 31 May 2022 17:49:56 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]:41691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kQ-0003MH-Il; Tue, 31 May 2022 17:49:56 -0400 Received: by mail-oi1-x231.google.com with SMTP id r206so174978oib.8; Tue, 31 May 2022 14:49:53 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xHThTlVQRxDCWZ0rxMcqazvC0wxOx9NlP2zJs7vmJj4=; b=ooKHi2l9fePSwV18imwdza3Eyf41ed6LodhLCBXagSOK7j0qqmyyT7lxlaN/yYL9Ra O8yMTgsbuVeNlw+PPlVx5Tt9P0B0qmoi7DtONRB5rSrdVRd2Kku3yAC2piTe/KTdYH9K wN52SXyq0OzXuJYDQUTTff47Hpfd3xutIste/D2ebNZcXUgehD/ZBz3DnwvGzzuQ2Tbr 8mZ9Xqwg8nQLXEtPV295RGqaY9j40IXvytRVfFZtl8K2BXN13mpWjUCpimRCVgKOnw6D JeZRT9dCc0gOSwn5igK/efVtMcs79ZiBxRfTbqBFNu0Tb4e3uX4hV29uJvwm7xERUl6W zL6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xHThTlVQRxDCWZ0rxMcqazvC0wxOx9NlP2zJs7vmJj4=; b=abZZp2KNOG6X+nZc6VOohsMEPOrI2e8dzGhDqgKf/We1BX16yR+6hysQAr6nEahpwK A81iZ++fTb60rNA2C+XAPXm+mBk5BFlUlGNyMBy3ibtshI1KYVZ7LlVSyPMfrXPaPSJd BXz/ZHxHx9oDsZJVpEa23j6QXHKecaCB8An3oVLCzy4giUBb+d8anRHOvRS00xW0ceDm FXm/gGG8WqqTENBcDHj2Hf4nSAHPTJRX0Mx2GW3/JYHvL4Fnq7dhLLmby0occWhRzgRh 60oBAmnTQfoTBeWB4BKOUrqq/qpi+dUKxK7pS7DQZjuNFB1ktR5KH/3diPR+t9QQJxhj P0Lw== X-Gm-Message-State: AOAM530KxP1XkUi5AcBYLP3VfTekIaoHz5CRYGEFCEw3Qo4ntWBBb1Ly zvwaCXL7SGhtQsJA74UF/p95dA0MPv1bRA== X-Google-Smtp-Source: ABdhPJzOVLYEEWEb5er6ISJvz/LrypL7BNT1RwuEmX7iNzYAP48pH/UZsEEP1AR4AUZz3LRow/27mA== X-Received: by 2002:a05:6808:1a22:b0:32b:60c2:e2bd with SMTP id bk34-20020a0568081a2200b0032b60c2e2bdmr13226415oib.189.1654033793438; Tue, 31 May 2022 14:49:53 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 12/16] ppc/pnv: remove pnv-phb3-root-port Date: Tue, 31 May 2022 18:49:13 -0300 Message-Id: <20220531214917.31668-13-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::231; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x231.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034376796100001 Content-Type: text/plain; charset="utf-8" The unified pnv-phb-root-port can be used in its place. There is no ABI breakage in doing so because no official QEMU release introduced user creatable pnv-phb3-root-port devices. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 10 ++++-- hw/pci-host/pnv_phb3.c | 57 ---------------------------------- hw/ppc/pnv.c | 1 + include/hw/pci-host/pnv_phb3.h | 6 ---- 4 files changed, 8 insertions(+), 66 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 5047e90d3a..d1e8d28e97 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -35,7 +35,7 @@ static void pnv_phb_realize(DeviceState *dev, Error **err= p) switch (phb->version) { case 3: phb_typename =3D g_strdup(TYPE_PNV_PHB3); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB3_ROOT_PORT); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 4: phb_typename =3D g_strdup(TYPE_PNV_PHB4); @@ -170,6 +170,11 @@ static void pnv_phb_root_port_realize(DeviceState *dev= , Error **errp) pci_config_set_interrupt_pin(pci->config, 0); } =20 +static Property pnv_phb_root_port_properties[] =3D { + DEFINE_PROP_UINT32("version", PnvPHB, version, 0), + DEFINE_PROP_END_OF_LIST(), +}; + static void pnv_phb_root_port_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -180,11 +185,10 @@ static void pnv_phb_root_port_class_init(ObjectClass = *klass, void *data) =20 device_class_set_parent_realize(dc, pnv_phb_root_port_realize, &rpc->parent_realize); - device_class_set_parent_reset(dc, pnv_phb_root_port_reset, &rpc->parent_reset); dc->reset =3D &pnv_phb_root_port_reset; - + device_class_set_props(dc, pnv_phb_root_port_properties); dc->user_creatable =3D true; =20 k->vendor_id =3D PCI_VENDOR_ID_IBM; diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index 839c2dad00..dc1068443a 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -1152,66 +1152,9 @@ static const TypeInfo pnv_phb3_root_bus_info =3D { }, }; =20 -static void pnv_phb3_root_port_realize(DeviceState *dev, Error **errp) -{ - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); - PCIDevice *pci =3D PCI_DEVICE(dev); - PCIBus *bus =3D pci_get_bus(pci); - PnvPHB *phb =3D NULL; - Error *local_err =3D NULL; - - phb =3D (PnvPHB *) object_dynamic_cast(OBJECT(bus->qbus.parent), - TYPE_PNV_PHB); - - if (!phb) { - error_setg(errp, -"pnv_phb3_root_port devices must be connected to pnv-phb3 buses"); - return; - } - - /* Set unique chassis/slot values for the root port */ - qdev_prop_set_uint8(&pci->qdev, "chassis", phb->chip_id); - qdev_prop_set_uint16(&pci->qdev, "slot", phb->phb_id); - - rpc->parent_realize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - pci_config_set_interrupt_pin(pci->config, 0); -} - -static void pnv_phb3_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc =3D DEVICE_CLASS(klass); - PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_CLASS(klass); - - dc->desc =3D "IBM PHB3 PCIE Root Port"; - - device_class_set_parent_realize(dc, pnv_phb3_root_port_realize, - &rpc->parent_realize); - dc->user_creatable =3D true; - - k->vendor_id =3D PCI_VENDOR_ID_IBM; - k->device_id =3D 0x03dc; - k->revision =3D 0; - - rpc->exp_offset =3D 0x48; - rpc->aer_offset =3D 0x100; -} - -static const TypeInfo pnv_phb3_root_port_info =3D { - .name =3D TYPE_PNV_PHB3_ROOT_PORT, - .parent =3D TYPE_PCIE_ROOT_PORT, - .instance_size =3D sizeof(PnvPHB3RootPort), - .class_init =3D pnv_phb3_root_port_class_init, -}; - static void pnv_phb3_register_types(void) { type_register_static(&pnv_phb3_root_bus_info); - type_register_static(&pnv_phb3_root_port_info); type_register_static(&pnv_phb3_type_info); type_register_static(&pnv_phb3_iommu_memory_region_info); } diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 4d2ea405db..5da5067b67 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2148,6 +2148,7 @@ static void pnv_machine_power8_class_init(ObjectClass= *oc, void *data) =20 static GlobalProperty phb_compat[] =3D { { TYPE_PNV_PHB, "version", "3" }, + { TYPE_PNV_PHB_ROOT_PORT, "version", "3" }, }; =20 mc->desc =3D "IBM PowerNV (Non-Virtualized) POWER8"; diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index 3b9ff1096a..bff69201d9 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -108,12 +108,6 @@ struct PnvPBCQState { */ #define TYPE_PNV_PHB3_ROOT_BUS "pnv-phb3-root" =20 -#define TYPE_PNV_PHB3_ROOT_PORT "pnv-phb3-root-port" - -typedef struct PnvPHB3RootPort { - PCIESlot parent_obj; -} PnvPHB3RootPort; - /* * PHB3 PCIe Host Bridge for PowerNV machines (POWER8) */ --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034627; cv=none; d=zohomail.com; s=zohoarc; b=AAMJB28q1YVOTPRC8M1ZbBcW9jP9L3kSnJFaioKAk5WtAnGYm7QZeUv0EF3x6jRcRtSEuihyVsKIX3WgOkzSns5TMjeuAS1mmTFMMzT4ZjWyElkLK8UYCzt14py/7I0QnA+sxQk6P3cW4+o+8pYoHzfxlRJWEJsvGibu3dKyK0A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034627; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E8eC7pOJCLgIGuHVwnLUXo4GEPJ+IRaL+Sgm+kMumbc=; b=BXW2EzLjHre4l6BYk1t9bJWBQwgQlNlYG6id9BIKeuw1wxfQIhe88zF/KdczJ8bPIZR053Pj+0WlxL7biUU6y/FMW4DiE9Nz0NEVo3YiP+RKCipUZvoK5wAW0phCVkduTOwSEbslwvlZfoWsYHjZAAraliOFm5qLAStDE2tk/O4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034627798914.8546293030064; Tue, 31 May 2022 15:03:47 -0700 (PDT) Received: from localhost ([::1]:57112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9xq-0005DC-NJ for importer@patchew.org; Tue, 31 May 2022 18:03:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53276) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kV-0001hR-A8; Tue, 31 May 2022 17:49:59 -0400 Received: from mail-ot1-x333.google.com ([2607:f8b0:4864:20::333]:34406) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kT-0003Px-EN; Tue, 31 May 2022 17:49:58 -0400 Received: by mail-ot1-x333.google.com with SMTP id n2-20020a9d6f02000000b0060b22af84d4so10498732otq.1; Tue, 31 May 2022 14:49:56 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E8eC7pOJCLgIGuHVwnLUXo4GEPJ+IRaL+Sgm+kMumbc=; b=d449zoYqqyi5wcldsYbeZdogXGmDrL2hMqU0Au5B3lqpqzhZoh7RKTIRJkYqCLGfYm uczd+UcrlDYfAyAaRb3g1McAy4+bZyJBZGKD4RKNqyuJV1mnfDYbBmkZLlUVZXl6gVjj WrUs/PVlyWPyyksN/1Tip/qwEbXB9mCwaEoQOPgU4Xh9AnVlnFdd3tnLKu+uyDpo5NmW C12ylsQOlcpVb9+gBOl8UJDfdIYE3k+iC91CToY6SLgFC0BBRq0YFxbzCdiP32Gl9HVA 8LFw4VjZhpfDuWpsHV/XdR1ndtjQenL5V1N6OxIeTlk/5nlufniC9PdSasDRavVRrDIe GOQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E8eC7pOJCLgIGuHVwnLUXo4GEPJ+IRaL+Sgm+kMumbc=; b=q0w7Y5AonLTQxigyNJ5RlsyvyU+MJ6T5EN36tkpzVE4QrM0F96m0DI/hMiTk1MJ798 K/VnvrIxvAxg/gvbO4h4DJ4CmhwA9KBKREKwUO25YiDJknJ59xDU51wzmZvhY/EcZhb0 R+q8FUjPmQhcIviy9gN13i9tTK6ETQZPaz09TZExV3YYbDrRFEw+VZ8DmAM1Kfd4NRu/ JBVyRpf4rDzSBIJQwFxZq2xsn+yxX0Eg4kOsFfUKq/V9Ww/eljLi80PcVJZK1evXuFoM 4YiqBy2tqNr48yuxb1K4az0+1xnZ4Vo8Hq5Ivud2CIjocObqn9wNSCFo7geWdwqKaf5d EIOQ== X-Gm-Message-State: AOAM533OzEh7JqLqGbJM42ror95Taq9Np50DQ/FseYltlCtsNImAgqpu 1bJLduh1JfHd06hBpGduKtqW+T5Bv4hZ1A== X-Google-Smtp-Source: ABdhPJyMLdGD2fXkTfCze9m/BtmgX41klaMtp7t1Pkfy//7h9R/+oTvT9Z7rZT9k+sZrKkYAfHEQ5Q== X-Received: by 2002:a05:6830:4494:b0:60b:3fbd:5022 with SMTP id r20-20020a056830449400b0060b3fbd5022mr10175152otv.198.1654033795925; Tue, 31 May 2022 14:49:55 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 13/16] ppc/pnv: remove pnv-phb4-root-port Date: Tue, 31 May 2022 18:49:14 -0300 Message-Id: <20220531214917.31668-14-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::333; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x333.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034628433100001 Content-Type: text/plain; charset="utf-8" The unified pnv-phb-root-port can be used instead. The phb4-root-port device isn't exposed to the user in any official QEMU release so there's no ABI breakage in removing it. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 4 +- hw/pci-host/pnv_phb4.c | 100 --------------------------------- hw/pci-host/pnv_phb4_pec.c | 4 +- include/hw/pci-host/pnv_phb4.h | 9 --- 4 files changed, 4 insertions(+), 113 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index d1e8d28e97..f1c106edf1 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -39,11 +39,11 @@ static void pnv_phb_realize(DeviceState *dev, Error **e= rrp) break; case 4: phb_typename =3D g_strdup(TYPE_PNV_PHB4); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB4_ROOT_PORT); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 5: phb_typename =3D g_strdup(TYPE_PNV_PHB5); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB5_ROOT_PORT); + phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; default: g_assert_not_reached(); diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 8a907a77a7..ba553ae25e 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1817,109 +1817,9 @@ static const TypeInfo pnv_phb4_root_bus_info =3D { }, }; =20 -static void pnv_phb4_root_port_reset(DeviceState *dev) -{ - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); - PCIDevice *d =3D PCI_DEVICE(dev); - uint8_t *conf =3D d->config; - - rpc->parent_reset(dev); - - pci_byte_test_and_set_mask(conf + PCI_IO_BASE, - PCI_IO_RANGE_MASK & 0xff); - pci_byte_test_and_clear_mask(conf + PCI_IO_LIMIT, - PCI_IO_RANGE_MASK & 0xff); - pci_set_word(conf + PCI_MEMORY_BASE, 0); - pci_set_word(conf + PCI_MEMORY_LIMIT, 0xfff0); - pci_set_word(conf + PCI_PREF_MEMORY_BASE, 0x1); - pci_set_word(conf + PCI_PREF_MEMORY_LIMIT, 0xfff1); - pci_set_long(conf + PCI_PREF_BASE_UPPER32, 0x1); /* Hack */ - pci_set_long(conf + PCI_PREF_LIMIT_UPPER32, 0xffffffff); - pci_config_set_interrupt_pin(conf, 0); -} - -static void pnv_phb4_root_port_realize(DeviceState *dev, Error **errp) -{ - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_GET_CLASS(dev); - PCIDevice *pci =3D PCI_DEVICE(dev); - PCIBus *bus =3D pci_get_bus(pci); - PnvPHB *phb =3D NULL; - Error *local_err =3D NULL; - - phb =3D (PnvPHB *) object_dynamic_cast(OBJECT(bus->qbus.parent), - TYPE_PNV_PHB); - - if (!phb) { - error_setg(errp, "%s must be connected to pnv-phb4 buses", dev->id= ); - return; - } - - /* Set unique chassis/slot values for the root port */ - qdev_prop_set_uint8(&pci->qdev, "chassis", phb->chip_id); - qdev_prop_set_uint16(&pci->qdev, "slot", phb->phb_id); - - rpc->parent_realize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } -} - -static void pnv_phb4_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc =3D DEVICE_CLASS(klass); - PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); - PCIERootPortClass *rpc =3D PCIE_ROOT_PORT_CLASS(klass); - - dc->desc =3D "IBM PHB4 PCIE Root Port"; - dc->user_creatable =3D true; - - device_class_set_parent_realize(dc, pnv_phb4_root_port_realize, - &rpc->parent_realize); - device_class_set_parent_reset(dc, pnv_phb4_root_port_reset, - &rpc->parent_reset); - - k->vendor_id =3D PCI_VENDOR_ID_IBM; - k->device_id =3D PNV_PHB4_DEVICE_ID; - k->revision =3D 0; - - rpc->exp_offset =3D 0x48; - rpc->aer_offset =3D 0x100; - - dc->reset =3D &pnv_phb4_root_port_reset; -} - -static const TypeInfo pnv_phb4_root_port_info =3D { - .name =3D TYPE_PNV_PHB4_ROOT_PORT, - .parent =3D TYPE_PCIE_ROOT_PORT, - .instance_size =3D sizeof(PnvPHB4RootPort), - .class_init =3D pnv_phb4_root_port_class_init, -}; - -static void pnv_phb5_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc =3D DEVICE_CLASS(klass); - PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); - - dc->desc =3D "IBM PHB5 PCIE Root Port"; - dc->user_creatable =3D true; - - k->vendor_id =3D PCI_VENDOR_ID_IBM; - k->device_id =3D PNV_PHB5_DEVICE_ID; -} - -static const TypeInfo pnv_phb5_root_port_info =3D { - .name =3D TYPE_PNV_PHB5_ROOT_PORT, - .parent =3D TYPE_PNV_PHB4_ROOT_PORT, - .instance_size =3D sizeof(PnvPHB4RootPort), - .class_init =3D pnv_phb5_root_port_class_init, -}; - static void pnv_phb4_register_types(void) { type_register_static(&pnv_phb4_root_bus_info); - type_register_static(&pnv_phb5_root_port_info); - type_register_static(&pnv_phb4_root_port_info); type_register_static(&pnv_phb4_type_info); type_register_static(&pnv_phb5_type_info); type_register_static(&pnv_phb4_iommu_memory_region_info); diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 0e67f3a338..785b778396 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -262,7 +262,7 @@ static void pnv_pec_class_init(ObjectClass *klass, void= *data) pecc->version =3D PNV_PHB4_VERSION; pecc->phb_type =3D TYPE_PNV_PHB4; pecc->num_phbs =3D pnv_pec_num_phbs; - pecc->rp_model =3D TYPE_PNV_PHB4_ROOT_PORT; + pecc->rp_model =3D TYPE_PNV_PHB_ROOT_PORT; } =20 static const TypeInfo pnv_pec_type_info =3D { @@ -315,7 +315,7 @@ static void pnv_phb5_pec_class_init(ObjectClass *klass,= void *data) pecc->version =3D PNV_PHB5_VERSION; pecc->phb_type =3D TYPE_PNV_PHB5; pecc->num_phbs =3D pnv_phb5_pec_num_stacks; - pecc->rp_model =3D TYPE_PNV_PHB5_ROOT_PORT; + pecc->rp_model =3D TYPE_PNV_PHB_ROOT_PORT; } =20 static const TypeInfo pnv_phb5_pec_type_info =3D { diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index f22253358f..29c49ac79c 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -45,16 +45,7 @@ typedef struct PnvPhb4DMASpace { QLIST_ENTRY(PnvPhb4DMASpace) list; } PnvPhb4DMASpace; =20 -/* - * PHB4 PCIe Root port - */ #define TYPE_PNV_PHB4_ROOT_BUS "pnv-phb4-root" -#define TYPE_PNV_PHB4_ROOT_PORT "pnv-phb4-root-port" -#define TYPE_PNV_PHB5_ROOT_PORT "pnv-phb5-root-port" - -typedef struct PnvPHB4RootPort { - PCIESlot parent_obj; -} PnvPHB4RootPort; =20 /* * PHB4 PCIe Host Bridge for PowerNV machines (POWER9) --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034896; cv=none; d=zohomail.com; s=zohoarc; b=YQgOqPXVxm0WLrWLuDwJT7zwKBFa05hyTD/ZU6GRtDgWLjjbjRoax/9Z2Q06JXQVg3i3tRLcDRBBUfCR7fOao6BgcLTiCi+br/fFig/4LdThXOKTgAZ5HSCCtG35wane0sWr9egnv5UHJFxNwJ9RlhhWsDCiljIk+gYLJCW9p30= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034896; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0xm+pvgnLXF6YChbzXzgN2uXzqkvWIe+xZmI1Mbyfg8=; b=bgj0vml6SuTRPrj00veBaYXxcrmUqxOvjIV+/rOfc2ai4X1gqLpCVfMHBf+QA7bQT8JJatzHO1KUiiHovKT653cTsgOZUPWtNcYl9eduH/sQ4KoJ/C0rTrfGStldduGNfhr0z0s2O9j5QyteXI6BknDRTPMlJEErjOE3Kz1dAmw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034896475352.61424817749173; Tue, 31 May 2022 15:08:16 -0700 (PDT) Received: from localhost ([::1]:36590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nwA2B-0002B9-Dv for importer@patchew.org; Tue, 31 May 2022 18:08:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53290) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kX-0001pz-96; Tue, 31 May 2022 17:50:01 -0400 Received: from mail-oi1-x235.google.com ([2607:f8b0:4864:20::235]:37777) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kV-0003Kv-Nn; Tue, 31 May 2022 17:50:00 -0400 Received: by mail-oi1-x235.google.com with SMTP id s188so198370oie.4; Tue, 31 May 2022 14:49:59 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:49:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0xm+pvgnLXF6YChbzXzgN2uXzqkvWIe+xZmI1Mbyfg8=; b=VeA0R2qfOchgloJNnQ/+JqMlBTmPCiawaTc4MbrHaWSpz7a6Zlxhb7/pHzSHOABKnZ Q7pkwRz3wp+YOBhhWLsab2+6jEQC5BfKE4OI8d8/DP55XiEbGLhjGgNBMdAd/CimN7Sg 92WX/Gv007VY9zBCNoP+Y5Yf1CBOe0glGzWiwe9yQnh/g8LLCsQfGAaLNJYfU5Qn0Ipz PMpkQAXbcpDJ4BIvxVRyAj5AcTMOTalZ+HrpN7fdmgv6elR8u42fTAYl1AnKcqQ5HWsj cNSE0LZofuXwaKmLlOct6tT299dUsnYc1KzNXadDreczYXac3zLEHmxiu75xBCeaGQa+ 9A3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0xm+pvgnLXF6YChbzXzgN2uXzqkvWIe+xZmI1Mbyfg8=; b=JmuOlpKVW556utcbeGApUQxEjJbXiOm0ISKqmx7kn29OB4phnlc5GKRX44LRKPBRiW xx7GIKLS3zUpcvmCKORYrH3SM2TAVCsSiz4+8fhxyJUInDYX/8C8ZzuVBZw2Xh3OhIRQ QbTbiAKSkMkRvxwxlwFVfToJSYS0E1O5qJZY3d84F+Z6flQotkGtJvj+CDlE+j6epre2 PONttzZv3r2XkhJFXv5k8KdAKjarT0/ulQfHUoeYpPf16vhJCCFlBrgdq06QqI5URPdD EIJU7KKVlNYHAAjp8fHMjzJDUmD3joOiO3x+fBRzY3EPrzs9p/pyNCtyoqSsCKFKg9gh DNjA== X-Gm-Message-State: AOAM5324hnBY+kX7Ia66nh6CgkKMWpqOhjGsRx+1KbAg9JUVkFIsBNAU eY7N9a9EwUHTy/k9MOCVNhUK8N+Ai2oWUw== X-Google-Smtp-Source: ABdhPJwj/8qB5OhAuVvCGOonkc15JGVSLEo5t771pJhjIBY6c+Bc1Dr+D9U/ojp5z/h+dZwd+Jl3tA== X-Received: by 2002:a05:6808:3084:b0:32b:a2a3:7706 with SMTP id bl4-20020a056808308400b0032ba2a37706mr12961691oib.288.1654033798692; Tue, 31 May 2022 14:49:58 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 14/16] ppc/pnv: remove 'phb_rootport_typename' in pnv_phb_realize() Date: Tue, 31 May 2022 18:49:15 -0300 Message-Id: <20220531214917.31668-15-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::235; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x235.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034898022100001 Content-Type: text/plain; charset="utf-8" The var is being initialized using the TYPE_PNV_PHB_ROOT_PORT value for all values of phb->version. Remove it and call pnv_phb_attach_root_port() using TYPE_PNV_PHB_ROOT_PORT directly. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index f1c106edf1..c33223d275 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -25,7 +25,6 @@ static void pnv_phb_realize(DeviceState *dev, Error **err= p) PnvPHB *phb =3D PNV_PHB(dev); PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); g_autofree char *phb_typename =3D NULL; - g_autofree char *phb_rootport_typename =3D NULL; =20 if (!phb->version) { error_setg(errp, "version not specified"); @@ -35,15 +34,12 @@ static void pnv_phb_realize(DeviceState *dev, Error **e= rrp) switch (phb->version) { case 3: phb_typename =3D g_strdup(TYPE_PNV_PHB3); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 4: phb_typename =3D g_strdup(TYPE_PNV_PHB4); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 5: phb_typename =3D g_strdup(TYPE_PNV_PHB5); - phb_rootport_typename =3D g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; default: g_assert_not_reached(); @@ -75,7 +71,7 @@ static void pnv_phb_realize(DeviceState *dev, Error **err= p) } =20 if (defaults_enabled()) { - pnv_phb_attach_root_port(pci, phb_rootport_typename); + pnv_phb_attach_root_port(pci, TYPE_PNV_PHB_ROOT_PORT); } } =20 --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034800; cv=none; d=zohomail.com; s=zohoarc; b=JEvq5cEIFbwOethh8Zoo9ljlVSHYJQIZ8AomMkTx+d2GyQ4X004tHcel29r6aprcEu4qfcZqT+hjmGafgFkxWxrdigVqO9MKMcVWSWCwV6UupdAN84eBWwHAowH0lycDgu/8aSTDRzrqQcjVq9/PZpg2FkD8juf2cnR57195+7Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034800; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1CO+abnUZIECsc5SHuhBWiPEPJjWevYjRB7mAYkbx+M=; b=I837t+atY6XXVWreuYMDZpcH41MTN2sxDyqlA4F6zDMZsyPWEXRzmAviIlE7el62MPUMuBFGk5Bi7EdlZzcswhRiU5BBGrP1xlIu6UiaKrGrr/ux1gFIxpcd7vWsGWdkwd2RtQjiGiAFPZTJFZAI1fLNT8x0l2j4x8b7QSqkz6s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034800944811.2632136725529; Tue, 31 May 2022 15:06:40 -0700 (PDT) Received: from localhost ([::1]:33168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nwA0c-0008I2-NK for importer@patchew.org; Tue, 31 May 2022 18:06:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9ka-00023Q-RU; Tue, 31 May 2022 17:50:04 -0400 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]:44612) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kZ-0003Qj-3W; Tue, 31 May 2022 17:50:04 -0400 Received: by mail-ot1-x329.google.com with SMTP id r14-20020a056830418e00b0060b8da9ff75so4355964otu.11; Tue, 31 May 2022 14:50:02 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.49.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:50:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1CO+abnUZIECsc5SHuhBWiPEPJjWevYjRB7mAYkbx+M=; b=mzjwxXGRqwccmt+ag6I/MtKcBUvXeDQAGMPU9uLEWf4I+s2j8khRGv7BkWR/31n2EC irPQ3PipyjcE00atU0LtCi51SnUIEVefyj0vw7IHCTsxPnK0tExKL8LoYxvT1BpX3ET2 iQTcxROHlyoRtOhIn5PYSHdIVLlR81DCIYUEt0p+gQKswEonuogV854+2SiC8tbIZ7Hk 8vCzT4/KukpdDyMDgiVje122snFCBwLlHcYs35JvsuiRcpTJN13l/u0bHNyZsgKyW8+l hreWEGacqyzEmwfwRQmyz9uGApXMCasaWnFjUQtM/EMu+/KwgnU+RVR27Jkn3FwDaiYO VviA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1CO+abnUZIECsc5SHuhBWiPEPJjWevYjRB7mAYkbx+M=; b=JrdVMNAFGJ6GdHl2KCHFtyiDVL4AfdanK1iutOl7zUVgkarDELNQaL9zok0UA/WJS1 Kr6TYYv/8+a4siFDR+Ec18i0y46KmHotkPYoQWsxzTxfyzJA8iFbOHGq2seZjwyn6SUW AQRLEiKhBiEfIlJTqx42HBVhGsyJoI2BWnznGJWXHMtALgzY/ovNcPRvH1LCRdULnfzx vZsfndEfVnaMkKw5oEoJFyQ37yKz54l96A3Roe8OaAk37UECP7PsPA/yDjRtqagIv0Zp sDyqH2cL3B6k7MNGA17iXt+XqF9aXhO/dW5WCSsdZtqjSXgnx2qn4sy3phyoMLrv9bwD bEGQ== X-Gm-Message-State: AOAM533jVsDgKuwgGyQeov5qB0IhXGkjd5xxu/i3nwKay+zOMofWE6ab Moxrx6RBmn+X+j2u94SLD7xheWoYQnx5Mg== X-Google-Smtp-Source: ABdhPJyAocJY9v81SCuuTdXw4n4z1VqZod4xZH3cOJvzokCojLvoH6+VEOYG05OvqkfBY1GwLrxB4Q== X-Received: by 2002:a9d:c24:0:b0:608:c7a1:5908 with SMTP id 33-20020a9d0c24000000b00608c7a15908mr24000770otr.88.1654033801542; Tue, 31 May 2022 14:50:01 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 15/16] ppc/pnv: remove pecc->rp_model Date: Tue, 31 May 2022 18:49:16 -0300 Message-Id: <20220531214917.31668-16-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::329; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x329.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034801741100001 Content-Type: text/plain; charset="utf-8" The attribute is unused. Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb4_pec.c | 2 -- include/hw/pci-host/pnv_phb4.h | 1 - 2 files changed, 3 deletions(-) diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 785b778396..8f11e077c2 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -262,7 +262,6 @@ static void pnv_pec_class_init(ObjectClass *klass, void= *data) pecc->version =3D PNV_PHB4_VERSION; pecc->phb_type =3D TYPE_PNV_PHB4; pecc->num_phbs =3D pnv_pec_num_phbs; - pecc->rp_model =3D TYPE_PNV_PHB_ROOT_PORT; } =20 static const TypeInfo pnv_pec_type_info =3D { @@ -315,7 +314,6 @@ static void pnv_phb5_pec_class_init(ObjectClass *klass,= void *data) pecc->version =3D PNV_PHB5_VERSION; pecc->phb_type =3D TYPE_PNV_PHB5; pecc->num_phbs =3D pnv_phb5_pec_num_stacks; - pecc->rp_model =3D TYPE_PNV_PHB_ROOT_PORT; } =20 static const TypeInfo pnv_phb5_pec_type_info =3D { diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index 29c49ac79c..61a0cb9989 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -200,7 +200,6 @@ struct PnvPhb4PecClass { uint64_t version; const char *phb_type; const uint32_t *num_phbs; - const char *rp_model; }; =20 /* --=20 2.36.1 From nobody Sun Feb 8 08:48:57 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1654034442; cv=none; d=zohomail.com; s=zohoarc; b=TnK+lbyaPs7rkKAcdwWwJhSQ5LsDRTz3Em4FsO0e83gSVPWJSLWfNeZlsXKbf63XYxcqPhpGUxTGZhqMMV4zc8TvxQ6jrgpqdg1D+bVzFhx44ojpXvIC9ACSG+Ob8Q2kLIxKu+bFCkf0MGKjhOwadxYnasXsOOiRjXGjG4RB+Hk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1654034442; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6MgX6+9CuhGwOjr81lW7312NPWPPk/rouG+yP3Odce4=; b=Mt3lW4fcFV8MmcokLewpC6SHLXOdpgVz84mBh8bBrR7Oj/vIBgdY7p4BZ07A2bOqXWWC0Uej0HMCrAA2QyIHjoCE2uxk0a8YpXhyx9IMOV+LHSI2uB6G9duCXgq94TT1x3aQzEPYQR6EtAhJao3XQPiL97kQU0hWdpGdpRQfx/I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1654034442044741.3131819264164; Tue, 31 May 2022 15:00:42 -0700 (PDT) Received: from localhost ([::1]:51126 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nw9ur-0000ui-1O for importer@patchew.org; Tue, 31 May 2022 18:00:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53356) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nw9kd-0002Cd-9l; Tue, 31 May 2022 17:50:07 -0400 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]:35679) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nw9kb-0003cS-N1; Tue, 31 May 2022 17:50:07 -0400 Received: by mail-ot1-x335.google.com with SMTP id l10-20020a9d7a8a000000b0060b151de434so10518076otn.2; Tue, 31 May 2022 14:50:04 -0700 (PDT) Received: from balboa.COMFAST ([152.250.93.219]) by smtp.gmail.com with ESMTPSA id pd19-20020a0568701f1300b000f333ac991fsm3476988oab.27.2022.05.31.14.50.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 May 2022 14:50:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6MgX6+9CuhGwOjr81lW7312NPWPPk/rouG+yP3Odce4=; b=IHsjxB3sok8c0Lmq2tLbdVaSBCrP6iYdTmX9EIc30XgrXvKANnwu4JQ+jf+/TRfr14 yByLuqB67TsdNWpxnUFpLvS4DSfLfM3v/++lk8VsuhEWFS5uyiM7NPk1BCkhP1Hp45Nz h8BD5G2Re1XObvXgycHL2AXvqP6/LqVET5vEH4P6DGdN+j4zNRmj+j821HIZydHuydRH SvXxnJcJL+2kjeWEpj4dMbChRERf5pj/PoRQNmllSDTgYTJu+sqAhKlsmccGtAKE1LnS 0Shqv2lZJygCl8HtEPA0PAZrt1xjfLQekI/C4oZcOlbUxNJjjtmuClhYauOT6hz1JgRl dmdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6MgX6+9CuhGwOjr81lW7312NPWPPk/rouG+yP3Odce4=; b=8Bo0TkGxWVtkjZPN1hQY/gTsSFWUvHPPn0EuHOFiPDsK33a3i8HrBQDOa92FnwUyaj pgAl5C2//LCEqN7AmIHp4khrJPvooiAB2r42s30YbkRhedKUpMZhSzYTwA/CKa3imXKK sUMIF7O1a8SGfmdsmdi2/cSnYwLGE/eBhiQ6wfACratJiDV7PFfzU8wvKurzt9H6qWY+ NN+NBzNOLco7iZf4E6PKoTdxC3xHHxZF5kgly4QMwnuXss8QT8m0CDZqCrwLT79wRTL1 8WWKIoogMrsS/0Usuc8EjMK6wgoSS6hKcRqmrRH5pUrBKJPGVKf85PZ/Z+fYiu8wlgMb IODQ== X-Gm-Message-State: AOAM531oABL0ZEVjNjlQBRUl8CoZUiL70a2G+/nr+xfTWkKN1W+w5Zq/ a5dem5s2Atptd26YIxe9me6V8Ifyqaa1Ig== X-Google-Smtp-Source: ABdhPJxwxIIjGAKoTklQBVdNli8pg/66RpD6M2LEbSd2wqJhAWC2F1CbKXbuxZ75v7XbICJ+jtODTg== X-Received: by 2002:a9d:6045:0:b0:60b:10fd:f3e3 with SMTP id v5-20020a9d6045000000b0060b10fdf3e3mr17424518otj.51.1654033804112; Tue, 31 May 2022 14:50:04 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au, clg@kaod.org, mark.cave-ayland@ilande.co.uk, fbarrat@linux.ibm.com, Daniel Henrique Barboza Subject: [PATCH v2 16/16] ppc/pnv: remove PnvPHB4.version Date: Tue, 31 May 2022 18:49:17 -0300 Message-Id: <20220531214917.31668-17-danielhb413@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220531214917.31668-1-danielhb413@gmail.com> References: <20220531214917.31668-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: pass client-ip=2607:f8b0:4864:20::335; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x335.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1654034443526100001 Content-Type: text/plain; charset="utf-8" It's unused. Signed-off-by: Daniel Henrique Barboza --- include/hw/pci-host/pnv_phb4.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index 61a0cb9989..20aa4819d3 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -77,8 +77,6 @@ struct PnvPHB4 { uint32_t chip_id; uint32_t phb_id; =20 - uint64_t version; - /* The owner PEC */ PnvPhb4PecState *pec; =20 --=20 2.36.1