From nobody Wed Nov 5 17:50:38 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1496717956673173.63476120849623; Mon, 5 Jun 2017 19:59:16 -0700 (PDT) Received: from localhost ([::1]:35979 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dI4iB-0002P8-4d for importer@patchew.org; Mon, 05 Jun 2017 22:59:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54441) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dI4b1-0003Yt-EG for qemu-devel@nongnu.org; Mon, 05 Jun 2017 22:51:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dI4az-00031V-R2 for qemu-devel@nongnu.org; Mon, 05 Jun 2017 22:51:51 -0400 Received: from ozlabs.org ([2401:3900:2:1::2]:48149) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dI4az-0002zt-Cj; Mon, 05 Jun 2017 22:51:49 -0400 Received: by ozlabs.org (Postfix, from userid 1007) id 3whbmr480mz9sDB; Tue, 6 Jun 2017 12:51:39 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1496717500; bh=0nXgosL5u5FuxecKdxMwrgv0DS0ewTeXOR2XforQEs0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JRUXM3VrFWD1FDIpLW5QiulV1mecFUZX/HjV9WDvySh1XhSzaAsGXST1EKAYA/WH+ zwfHtLyvB/xIwXSECDWCFV+0t/hshwieF0DZnEGbZPj2P1YjdArpOoFYqw01gcxVP/ ped1mi1AfQ9Y5CRvdepM4kb0n2moAujHWjuQQ9Pg= From: David Gibson To: peter.maydell@linaro.org Date: Tue, 6 Jun 2017 12:51:34 +1000 Message-Id: <20170606025135.2685-17-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170606025135.2685-1-david@gibson.dropbear.id.au> References: <20170606025135.2685-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 16/17] spapr: Eliminate spapr_drc_get_type_str() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mdroth@linux.vnet.ibm.com, David Gibson , qemu-ppc@nongnu.org, agraf@suse.de, qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This function was used in generating the device tree. However, now that we have different QOM types for different DRC types we can easily store the information we need in the class structure and avoid this specialized lookup function. Signed-off-by: David Gibson Reviewed-by: Michael Roth Acked-by: Michael Roth --- hw/ppc/spapr_drc.c | 31 ++++--------------------------- include/hw/ppc/spapr_drc.h | 1 + 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 783c621..06df5d0 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -712,6 +712,7 @@ static void spapr_drc_cpu_class_init(ObjectClass *k, vo= id *data) sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_CLASS(k); =20 drck->typeshift =3D SPAPR_DR_CONNECTOR_TYPE_SHIFT_CPU; + drck->typename =3D "CPU"; } =20 static void spapr_drc_pci_class_init(ObjectClass *k, void *data) @@ -719,6 +720,7 @@ static void spapr_drc_pci_class_init(ObjectClass *k, vo= id *data) sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_CLASS(k); =20 drck->typeshift =3D SPAPR_DR_CONNECTOR_TYPE_SHIFT_PCI; + drck->typename =3D "28"; } =20 static void spapr_drc_lmb_class_init(ObjectClass *k, void *data) @@ -726,6 +728,7 @@ static void spapr_drc_lmb_class_init(ObjectClass *k, vo= id *data) sPAPRDRConnectorClass *drck =3D SPAPR_DR_CONNECTOR_CLASS(k); =20 drck->typeshift =3D SPAPR_DR_CONNECTOR_TYPE_SHIFT_LMB; + drck->typename =3D "MEM"; } =20 static const TypeInfo spapr_dr_connector_info =3D { @@ -795,31 +798,6 @@ sPAPRDRConnector *spapr_drc_by_id(const char *type, ui= nt32_t id) | (id & DRC_INDEX_ID_MASK)); } =20 -/* generate a string the describes the DRC to encode into the - * device tree. - * - * as documented by PAPR+ v2.7, 13.5.2.6 and C.6.1 - */ -static const char *spapr_drc_get_type_str(sPAPRDRConnectorType type) -{ - switch (type) { - case SPAPR_DR_CONNECTOR_TYPE_CPU: - return "CPU"; - case SPAPR_DR_CONNECTOR_TYPE_PHB: - return "PHB"; - case SPAPR_DR_CONNECTOR_TYPE_VIO: - return "SLOT"; - case SPAPR_DR_CONNECTOR_TYPE_PCI: - return "28"; - case SPAPR_DR_CONNECTOR_TYPE_LMB: - return "MEM"; - default: - g_assert(false); - } - - return NULL; -} - /** * spapr_drc_populate_dt * @@ -901,8 +879,7 @@ int spapr_drc_populate_dt(void *fdt, int fdt_offset, Ob= ject *owner, drc_names =3D g_string_insert_len(drc_names, -1, "\0", 1); =20 /* ibm,drc-types */ - drc_types =3D g_string_append(drc_types, - spapr_drc_get_type_str(spapr_drc_type(= drc))); + drc_types =3D g_string_append(drc_types, drck->typename); drc_types =3D g_string_insert_len(drc_types, -1, "\0", 1); } =20 diff --git a/include/hw/ppc/spapr_drc.h b/include/hw/ppc/spapr_drc.h index 7dbb478..c88e1be 100644 --- a/include/hw/ppc/spapr_drc.h +++ b/include/hw/ppc/spapr_drc.h @@ -212,6 +212,7 @@ typedef struct sPAPRDRConnectorClass { =20 /*< public >*/ sPAPRDRConnectorTypeShift typeshift; + const char *typename; /* used in device tree, PAPR 13.5.2.6 & C.6.1 */ =20 /* accessors for guest-visible (generally via RTAS) DR state */ uint32_t (*set_isolation_state)(sPAPRDRConnector *drc, --=20 2.9.4