From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461117; cv=none; d=zohomail.com; s=zohoarc; b=Zrp0lKf/5Phe9xRmpU3tgRXhaN8b2nQlh6qSPi++82XKxTuKdDRwm5+phNsMUSlOZb+mXxM8E2yxiPVNuQx+o/KQ6778FaxZfbYMTr05mTNuXPQ/KB9YlB1pl/fvGpNSWiRNpeCZ7RJ3O8ilhU//zpRIrhmIgLHBVxwLmOnf6ls= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461117; 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=DjGBZ/61ck/A5EebMSqtRhxq+vdv3/Dcb1g/YzM3GTU=; b=ISwcOIrB9Gj4ghvPcJN1Zlt0AjdsT4CYrVxpeU/yrzPyz0OtBrMPjw05+nFENrTDBRpwLN580/cS7eB5SwgUN7hMj4ThBw/WYHwNdsOIA4LvtmP2Y92Rr2rnZYZV2iENWD6xsTX8MxQTpIU4hmjQpqbgFG5DIqrej0c8WvpdLOs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157846111732272.06011658628267; Tue, 7 Jan 2020 21:25:17 -0800 (PST) Received: from localhost ([::1]:36972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3qE-0005iL-MJ for importer@patchew.org; Wed, 08 Jan 2020 00:25:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47323) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oX-0003qH-6z for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oW-0002cP-1z for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:28 -0500 Received: from ozlabs.org ([203.11.71.1]:49391) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oV-0002UK-8f; Wed, 08 Jan 2020 00:23:27 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syM95g2kz9sRl; Wed, 8 Jan 2020 16:23:17 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460997; bh=lbm8EJRZ7JKETrZE+YNbktjUtLSvJ1kr18xQhBolrpM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pz63e+OfWX+mPzYpOSTGA19vV9f2k9rT4ftqwjXpkOwApsF1kwQxs/CcZm2WYwq/9 jzmyi5Tg4TopnF8GpDS7g8RZplgND610NrQ6B9B6KQWV96MqrRlTJ4MAtBJzXfWCmy MOginqQFg5GsNVvBiX4u5gbCbQSMMSPemN3c4vw0= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 01/26] target/ppc: Remove unused PPC_INPUT_INT defines Date: Wed, 8 Jan 2020 16:22:47 +1100 Message-Id: <20200108052312.238710-2-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Fabiano Rosas , qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas They were added in "16415335be Use correct input constant" with a single use in kvm_arch_pre_run but that function's implementation was removed by "1e8f51e856 ppc: remove idle_timer logic". Signed-off-by: Fabiano Rosas Message-Id: <20191218014616.686124-1-farosas@linux.ibm.com> Signed-off-by: David Gibson --- target/ppc/kvm.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index d1c334f0e3..5e4f219902 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -1325,12 +1325,6 @@ int kvmppc_set_interrupt(PowerPCCPU *cpu, int irq, i= nt level) return 0; } =20 -#if defined(TARGET_PPC64) -#define PPC_INPUT_INT PPC970_INPUT_INT -#else -#define PPC_INPUT_INT PPC6xx_INPUT_INT -#endif - void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run) { return; --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461270; cv=none; d=zohomail.com; s=zohoarc; b=dbXR994y0XsZ1ZW+oMng5eKZCZFAsyrFLENv67W1BP6SVmlBBtnEJebu/1vZvsbPraVms2MRlxeiO8vnvmyYkZA7hHvr4Hh8GoNeAQC4yD5HvXFSmxw/mJ9uPx5inTedkWN/IiAx6R5dLvT0VaIruAT6+63VL3C4kYyCQpdJ38c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461270; 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=wGeaksJf8sJg+MBrB4A3KCuFNyX+lMx68py1+D8UQyE=; b=c1GIW8KLpnqry++o+YYqA6HR71e5FcTKszCCX5d82fyjHYY7wxmlstPZANqJK5qfhLVHyyvL1YaYFvfaZPBsVi3fZUEru1EogTcFJpONjHCz3o4R8tzAXFZunWM/FNi7m+3Y2rH/jgG+5kuoyyQpFKjBEwYS61qLFrxS5k6J1Bg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461270677800.7069914622749; Tue, 7 Jan 2020 21:27:50 -0800 (PST) Received: from localhost ([::1]:37020 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3sj-0001Wb-7n for importer@patchew.org; Wed, 08 Jan 2020 00:27:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47330) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oX-0003qK-8X for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oW-0002d6-8b for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:29 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:43747 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oV-0002Uc-Bd; Wed, 08 Jan 2020 00:23:28 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syM93DzXz9sNx; Wed, 8 Jan 2020 16:23:17 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460997; bh=RIG8AVq/A1LrdRejHrsb2i5wZf5SloXuDpwkP/Qb1zQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=adAP7IjrZFjRDOqW4vvufUM7oifi56f52xwirILWr9Wmnaew6Yo0Vh8QgsL20DVhv nQrEkb/byFP9G53Fhs9pBjikaBXQZYPWJm/B2P0nWVyKnFC26DGXZsreYeIuorLWAf hZu0pdAzy+Y9ci8Xu0v4OslV+CXnBQSoEdnYULpY= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 02/26] target/ppc: Handle AIL=0 in ppc_excp_vector_offset Date: Wed, 8 Jan 2020 16:22:48 +1100 Message-Id: <20200108052312.238710-3-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Fabiano Rosas , qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas The exception vector offset calculation was moved into a function but the case when AIL=3D0 was not checked. The reason we got away with this is that the sole caller of ppc_excp_vector_offset checks the AIL before calling the function: /* Handle AIL */ if (ail) { ... vector |=3D ppc_excp_vector_offset(cs, ail); } Fixes: 2586a4d7a0 ("target/ppc: Move exception vector offset computation in= to a function") Signed-off-by: Fabiano Rosas Message-Id: <20191217142512.574075-1-farosas@linux.ibm.com> Signed-off-by: David Gibson --- target/ppc/excp_helper.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 50b004d00d..5752ed4a4d 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -112,6 +112,8 @@ static uint64_t ppc_excp_vector_offset(CPUState *cs, in= t ail) uint64_t offset =3D 0; =20 switch (ail) { + case AIL_NONE: + break; case AIL_0001_8000: offset =3D 0x18000; break; --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461433; cv=none; d=zohomail.com; s=zohoarc; b=KjGF+EKsDDwOW9pVYRQrc1nq7vYZf5pc00sk0D0RK6sy+4aXwL2RpIGeuWRcn/BWckUm0aBGN5iRlnC/Q49TbRtemmkl8URkcu+oz2PugSg+OyB5vOEw6L08z2LzYF0Z5pABWCxLDvnO73i94bwonzTOozsCJvWezr2vfeW8ko0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461433; 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=D+YkcXQUwFdCEKnLRNkAN/Aei2Ja6FutAiTso3c8b8c=; b=Ve66zfCBeyJgu8NWZr1rAIxAuypOYV32iO1OQDHNFycZ+Q/uzoSqzbBXxQnu5iPnUqmwr+fLgb9hEiQSGjbHI1nzUYzYSfV5evPC9vYidQvcanyBgf34mdx0SVX+NX8zPhB0H3Kc4cR0Fnm4uau+rvJHSIzuXyI0vu0DQc6jjyc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461433177183.3987827444206; Tue, 7 Jan 2020 21:30:33 -0800 (PST) Received: from localhost ([::1]:37048 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3vK-00050E-OK for importer@patchew.org; Wed, 08 Jan 2020 00:30:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47519) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3ob-0003rj-Du for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002gz-Ra for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:33 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:44117 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002dN-E0; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB1lrZz9sRs; Wed, 8 Jan 2020 16:23:17 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=wvmmCejjwLYNoz6F2LRrWGMGLlrhnilquUTgCO2HW8A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EqK9/tD1qJWDbu05Mtdw2ldRl6wTyR7bqvz+S1Ly59q1QkmI9zXM8ckHNli4usgyF U06gPznTRrTVuIgZaYMHiINQGBmcksuu3CSeviUvSdYcQA80TnPETzwkJ6lFGTlq35 fe482EJEoqz72m2euqj7QdxnMjojoB1U1mmokqds= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 03/26] linux-headers: Update Date: Wed, 8 Jan 2020 16:22:49 +1100 Message-Id: <20200108052312.238710-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, Bharata B Rao , groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Bharata B Rao Update to mainline commit: d1eef1c61974 ("Linux 5.5-rc2") Signed-off-by: Bharata B Rao Message-Id: <20191219031445.8949-2-bharata@linux.ibm.com> Signed-off-by: David Gibson --- include/standard-headers/asm-x86/bootparam.h | 7 +- .../infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +++- include/standard-headers/drm/drm_fourcc.h | 28 ++++++- .../linux/input-event-codes.h | 77 +++++++++++++++++++ include/standard-headers/linux/pci_regs.h | 3 + .../standard-headers/rdma/vmw_pvrdma-abi.h | 5 ++ linux-headers/linux/kvm.h | 1 + 7 files changed, 132 insertions(+), 4 deletions(-) diff --git a/include/standard-headers/asm-x86/bootparam.h b/include/standar= d-headers/asm-x86/bootparam.h index a6f7cf535e..072e2ed546 100644 --- a/include/standard-headers/asm-x86/bootparam.h +++ b/include/standard-headers/asm-x86/bootparam.h @@ -2,7 +2,7 @@ #ifndef _ASM_X86_BOOTPARAM_H #define _ASM_X86_BOOTPARAM_H =20 -/* setup_data types */ +/* setup_data/setup_indirect types */ #define SETUP_NONE 0 #define SETUP_E820_EXT 1 #define SETUP_DTB 2 @@ -11,6 +11,11 @@ #define SETUP_APPLE_PROPERTIES 5 #define SETUP_JAILHOUSE 6 =20 +#define SETUP_INDIRECT (1<<31) + +/* SETUP_INDIRECT | max(SETUP_*) */ +#define SETUP_TYPE_MAX (SETUP_INDIRECT | SETUP_JAILHOUSE) + /* ram_size flags */ #define RAMDISK_IMAGE_START_MASK 0x07FF #define RAMDISK_PROMPT_FLAG 0x8000 diff --git a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrd= ma_dev_api.h b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pv= rdma_dev_api.h index d019872608..a5a1c8234e 100644 --- a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_= api.h +++ b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_= api.h @@ -58,7 +58,8 @@ #define PVRDMA_ROCEV1_VERSION 17 #define PVRDMA_ROCEV2_VERSION 18 #define PVRDMA_PPN64_VERSION 19 -#define PVRDMA_VERSION PVRDMA_PPN64_VERSION +#define PVRDMA_QPHANDLE_VERSION 20 +#define PVRDMA_VERSION PVRDMA_QPHANDLE_VERSION =20 #define PVRDMA_BOARD_ID 1 #define PVRDMA_REV_ID 1 @@ -581,6 +582,17 @@ struct pvrdma_cmd_create_qp_resp { uint32_t max_inline_data; }; =20 +struct pvrdma_cmd_create_qp_resp_v2 { + struct pvrdma_cmd_resp_hdr hdr; + uint32_t qpn; + uint32_t qp_handle; + uint32_t max_send_wr; + uint32_t max_recv_wr; + uint32_t max_send_sge; + uint32_t max_recv_sge; + uint32_t max_inline_data; +}; + struct pvrdma_cmd_modify_qp { struct pvrdma_cmd_hdr hdr; uint32_t qp_handle; @@ -663,6 +675,7 @@ union pvrdma_cmd_resp { struct pvrdma_cmd_create_cq_resp create_cq_resp; struct pvrdma_cmd_resize_cq_resp resize_cq_resp; struct pvrdma_cmd_create_qp_resp create_qp_resp; + struct pvrdma_cmd_create_qp_resp_v2 create_qp_resp_v2; struct pvrdma_cmd_query_qp_resp query_qp_resp; struct pvrdma_cmd_destroy_qp_resp destroy_qp_resp; struct pvrdma_cmd_create_srq_resp create_srq_resp; diff --git a/include/standard-headers/drm/drm_fourcc.h b/include/standard-h= eaders/drm/drm_fourcc.h index a308c91b4f..46d279f515 100644 --- a/include/standard-headers/drm/drm_fourcc.h +++ b/include/standard-headers/drm/drm_fourcc.h @@ -68,7 +68,7 @@ extern "C" { #define fourcc_code(a, b, c, d) ((uint32_t)(a) | ((uint32_t)(b) << 8) | \ ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24)) =20 -#define DRM_FORMAT_BIG_ENDIAN (1<<31) /* format is big endian instead of l= ittle endian */ +#define DRM_FORMAT_BIG_ENDIAN (1U<<31) /* format is big endian instead of = little endian */ =20 /* Reserve 0 for the invalid format specifier */ #define DRM_FORMAT_INVALID 0 @@ -647,7 +647,21 @@ extern "C" { * Further information on the use of AFBC modifiers can be found in * Documentation/gpu/afbc.rst */ -#define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode) fourcc_mod_code(ARM, __afbc_m= ode) + +/* + * The top 4 bits (out of the 56 bits alloted for specifying vendor specif= ic + * modifiers) denote the category for modifiers. Currently we have only two + * categories of modifiers ie AFBC and MISC. We can have a maximum of sixt= een + * different categories. + */ +#define DRM_FORMAT_MOD_ARM_CODE(__type, __val) \ + fourcc_mod_code(ARM, ((uint64_t)(__type) << 52) | ((__val) & 0x000fffffff= ffffffULL)) + +#define DRM_FORMAT_MOD_ARM_TYPE_AFBC 0x00 +#define DRM_FORMAT_MOD_ARM_TYPE_MISC 0x01 + +#define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode) \ + DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_AFBC, __afbc_mode) =20 /* * AFBC superblock size @@ -741,6 +755,16 @@ extern "C" { */ #define AFBC_FORMAT_MOD_BCH (1ULL << 11) =20 +/* + * Arm 16x16 Block U-Interleaved modifier + * + * This is used by Arm Mali Utgard and Midgard GPUs. It divides the image + * into 16x16 pixel blocks. Blocks are stored linearly in order, but pixels + * in the block are reordered. + */ +#define DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED \ + DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_MISC, 1ULL) + /* * Allwinner tiled modifier * diff --git a/include/standard-headers/linux/input-event-codes.h b/include/s= tandard-headers/linux/input-event-codes.h index eb08cb8598..b484c25289 100644 --- a/include/standard-headers/linux/input-event-codes.h +++ b/include/standard-headers/linux/input-event-codes.h @@ -649,6 +649,83 @@ */ #define KEY_DATA 0x277 #define KEY_ONSCREEN_KEYBOARD 0x278 +/* Electronic privacy screen control */ +#define KEY_PRIVACY_SCREEN_TOGGLE 0x279 + +/* + * Some keyboards have keys which do not have a defined meaning, these keys + * are intended to be programmed / bound to macros by the user. For most + * keyboards with these macro-keys the key-sequence to inject, or action to + * take, is all handled by software on the host side. So from the kernel's + * point of view these are just normal keys. + * + * The KEY_MACRO# codes below are intended for such keys, which may be lab= eled + * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys + * where the marking on the key does indicate a defined meaning / purpose. + * + * The KEY_MACRO# codes MUST also NOT be used as fallback for when no exis= ting + * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO + * define MUST be added. + */ +#define KEY_MACRO1 0x290 +#define KEY_MACRO2 0x291 +#define KEY_MACRO3 0x292 +#define KEY_MACRO4 0x293 +#define KEY_MACRO5 0x294 +#define KEY_MACRO6 0x295 +#define KEY_MACRO7 0x296 +#define KEY_MACRO8 0x297 +#define KEY_MACRO9 0x298 +#define KEY_MACRO10 0x299 +#define KEY_MACRO11 0x29a +#define KEY_MACRO12 0x29b +#define KEY_MACRO13 0x29c +#define KEY_MACRO14 0x29d +#define KEY_MACRO15 0x29e +#define KEY_MACRO16 0x29f +#define KEY_MACRO17 0x2a0 +#define KEY_MACRO18 0x2a1 +#define KEY_MACRO19 0x2a2 +#define KEY_MACRO20 0x2a3 +#define KEY_MACRO21 0x2a4 +#define KEY_MACRO22 0x2a5 +#define KEY_MACRO23 0x2a6 +#define KEY_MACRO24 0x2a7 +#define KEY_MACRO25 0x2a8 +#define KEY_MACRO26 0x2a9 +#define KEY_MACRO27 0x2aa +#define KEY_MACRO28 0x2ab +#define KEY_MACRO29 0x2ac +#define KEY_MACRO30 0x2ad + +/* + * Some keyboards with the macro-keys described above have some extra keys + * for controlling the host-side software responsible for the macro handli= ng: + * -A macro recording start/stop key. Note that not all keyboards which em= it + * KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if + * KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START + * should be interpreted as a recording start/stop toggle; + * -Keys for switching between different macro (pre)sets, either a key for + * cycling through the configured presets or keys to directly select a pr= eset. + */ +#define KEY_MACRO_RECORD_START 0x2b0 +#define KEY_MACRO_RECORD_STOP 0x2b1 +#define KEY_MACRO_PRESET_CYCLE 0x2b2 +#define KEY_MACRO_PRESET1 0x2b3 +#define KEY_MACRO_PRESET2 0x2b4 +#define KEY_MACRO_PRESET3 0x2b5 + +/* + * Some keyboards have a buildin LCD panel where the contents are controll= ed + * by the host. Often these have a number of keys directly below the LCD + * intended for controlling a menu shown on the LCD. These keys often don't + * have any labeling so we just name them KEY_KBD_LCD_MENU# + */ +#define KEY_KBD_LCD_MENU1 0x2b8 +#define KEY_KBD_LCD_MENU2 0x2b9 +#define KEY_KBD_LCD_MENU3 0x2ba +#define KEY_KBD_LCD_MENU4 0x2bb +#define KEY_KBD_LCD_MENU5 0x2bc =20 #define BTN_TRIGGER_HAPPY 0x2c0 #define BTN_TRIGGER_HAPPY1 0x2c0 diff --git a/include/standard-headers/linux/pci_regs.h b/include/standard-h= eaders/linux/pci_regs.h index 29d6e93fd1..acb7d2bdb4 100644 --- a/include/standard-headers/linux/pci_regs.h +++ b/include/standard-headers/linux/pci_regs.h @@ -34,6 +34,7 @@ * of which the first 64 bytes are standardized as follows: */ #define PCI_STD_HEADER_SIZEOF 64 +#define PCI_STD_NUM_BARS 6 /* Number of standard BARs */ #define PCI_VENDOR_ID 0x00 /* 16 bits */ #define PCI_DEVICE_ID 0x02 /* 16 bits */ #define PCI_COMMAND 0x04 /* 16 bits */ @@ -673,6 +674,8 @@ #define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */ #define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */ #define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */ +#define PCI_EXP_LNKCTL2_ENTER_COMP 0x0010 /* Enter Compliance */ +#define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380 /* Transmit Margin */ #define PCI_EXP_LNKSTA2 50 /* Link Status 2 */ #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 52 /* v2 endpoints with link end he= re */ #define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */ diff --git a/include/standard-headers/rdma/vmw_pvrdma-abi.h b/include/stand= ard-headers/rdma/vmw_pvrdma-abi.h index 336a8d596f..0989426a3f 100644 --- a/include/standard-headers/rdma/vmw_pvrdma-abi.h +++ b/include/standard-headers/rdma/vmw_pvrdma-abi.h @@ -179,6 +179,11 @@ struct pvrdma_create_qp { uint64_t __attribute__((aligned(8))) qp_addr; }; =20 +struct pvrdma_create_qp_resp { + uint32_t qpn; + uint32_t qp_handle; +}; + /* PVRDMA masked atomic compare and swap */ struct pvrdma_ex_cmp_swap { uint64_t __attribute__((aligned(8))) swap_val; diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 3b27a1ae85..9d647fad76 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -1348,6 +1348,7 @@ struct kvm_s390_ucas_mapping { #define KVM_PPC_GET_CPU_CHAR _IOR(KVMIO, 0xb1, struct kvm_ppc_cpu_char) /* Available with KVM_CAP_PMU_EVENT_FILTER */ #define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_= filter) +#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3) =20 /* ioctl for vm fd */ #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461122; cv=none; d=zohomail.com; s=zohoarc; b=B0/Jey31YLwz0keQCIfnFIv2EW6oC/1pfiyU4QPAQlCKG5QIofgmFm/vxVGGb3k+oukzSthZUa13guF6XjLo4RACOcJghx5qIT1oWcnzbFQxrR9Wk7uP66+FxWbT341+o5EJ4ansTzMqnqWl7MeVY18KmLz228l0H1mfxLvOxyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461122; 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=0wYqvYvzxqAlOunvyERcXFjXLuAIelNoP28Eip5vMKM=; b=gF2bqGUPDvKoeLngQgUqb2jQexgqpBWFLOzUtaNXGKdSssQowwqU2WPu5AUu1X9ORcZc4isnaYYH+WFpFlnOiiAzrmXnUdnhHJpFjqZzwmjZvIdfayEIdoWzhb8inCoLvgWpC1S1Koio+7Q3UPQWoFkuO8GjkqnQ6veEZgjmskQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157846112184723.29182243268133; Tue, 7 Jan 2020 21:25:21 -0800 (PST) Received: from localhost ([::1]:36978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3qK-0005oP-DA for importer@patchew.org; Wed, 08 Jan 2020 00:25:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47341) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oX-0003qM-Ll for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oW-0002cu-5Z for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:29 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:58913 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oV-0002UO-FH; Wed, 08 Jan 2020 00:23:28 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB0q2mz9sS3; Wed, 8 Jan 2020 16:23:17 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=is8eYfBULY1O20eZEsh/522Pn0d1Nm9PMUQznMIJdgU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nvBPAPJHbxzNrdQeXEdNL6RsOWXcWWX4XL5q4i/hSrNJosozduPJHNzwEdlWHIu/u xEOXMMl6dZMt8T9Tx5Hk5+0duvXctoETNGz+BeN4REoIpeMrOQeWVRJeGSLWI3hDqM BhlsW30G0P8WjfcTYy0m18StKG5CUmXFHb/LmSyc= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 04/26] ppc/spapr: Support reboot of secure pseries guest Date: Wed, 8 Jan 2020 16:22:50 +1100 Message-Id: <20200108052312.238710-5-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, Bharata B Rao , groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Bharata B Rao A pseries guest can be run as a secure guest on Ultravisor-enabled POWER platforms. When such a secure guest is reset, we need to release/reset a few resources both on ultravisor and hypervisor side. This is achieved by invoking this new ioctl KVM_PPC_SVM_OFF from the machine reset path. As part of this ioctl, the secure guest is essentially transitioned back to normal mode so that it can reboot like a regular guest and become secure again. This ioctl has no effect when invoked for a normal guest. If this ioctl fails for a secure guest, the guest is terminated. Signed-off-by: Bharata B Rao Message-Id: <20191219031445.8949-3-bharata@linux.ibm.com> Signed-off-by: David Gibson --- hw/ppc/spapr.c | 1 + target/ppc/kvm.c | 15 +++++++++++++++ target/ppc/kvm_ppc.h | 6 ++++++ 3 files changed, 22 insertions(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index f11422fc41..e62c89b3dd 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1597,6 +1597,7 @@ static void spapr_machine_reset(MachineState *machine) void *fdt; int rc; =20 + kvmppc_svm_off(&error_fatal); spapr_caps_apply(spapr); =20 first_ppc_cpu =3D POWERPC_CPU(first_cpu); diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 5e4f219902..45a26c0fc6 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -2894,3 +2894,18 @@ void kvmppc_set_reg_tb_offset(PowerPCCPU *cpu, int64= _t tb_offset) kvm_set_one_reg(cs, KVM_REG_PPC_TB_OFFSET, &tb_offset); } } + +/* + * Don't set error if KVM_PPC_SVM_OFF ioctl is invoked on kernels + * that don't support this ioctl. + */ +void kvmppc_svm_off(Error **errp) +{ + int rc; + KVMState *s =3D KVM_STATE(current_machine->accelerator); + + rc =3D kvm_vm_ioctl(s, KVM_PPC_SVM_OFF); + if (rc && rc !=3D -ENOTTY) { + error_setg_errno(errp, -rc, "KVM_PPC_SVM_OFF ioctl failed"); + } +} diff --git a/target/ppc/kvm_ppc.h b/target/ppc/kvm_ppc.h index f22daabf51..b713097bfb 100644 --- a/target/ppc/kvm_ppc.h +++ b/target/ppc/kvm_ppc.h @@ -37,6 +37,7 @@ int kvmppc_booke_watchdog_enable(PowerPCCPU *cpu); target_ulong kvmppc_configure_v3_mmu(PowerPCCPU *cpu, bool radix, bool gtse, uint64_t proc_tbl); +void kvmppc_svm_off(Error **errp); #ifndef CONFIG_USER_ONLY bool kvmppc_spapr_use_multitce(void); int kvmppc_spapr_enable_inkernel_multitce(void); @@ -201,6 +202,11 @@ static inline target_ulong kvmppc_configure_v3_mmu(Pow= erPCCPU *cpu, return 0; } =20 +static inline void kvmppc_svm_off(Error **errp) +{ + return; +} + static inline void kvmppc_set_reg_ppc_online(PowerPCCPU *cpu, unsigned int online) { --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461120; cv=none; d=zohomail.com; s=zohoarc; b=mUJbbnfZhkOfJaNaiZaaasFNcu3/Hiz4IeL6NnN8IDFqwGxyaz2RyvCykfXNHlzp719kR9UTaAZY1uZuHPdleo4H14w2G6PdYZduKKSBPBvllk7pZq9naELJymTDIdVH4BCHTkLfJQ4H6JQS9yeTKGt2irXS/+WCE496DYpNehw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461120; h=Content-Type: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=YBqpd/16u5pt4hnaFifS+sNRNRaC2IYpFcEVqDL6X2Q=; b=GaP2sv8DjfOYHAQkRfGaaLHYcsajofSq1vyC4rCeiKc1dWHebG0p0kvf8XBDBhPb+CpGEictfrjxklaCE1gZLjjJ6dJ2DpEzzgY5oimHzFQFhrwMTzf9LaC59rVa56dQE81/OP7V7WdpY/NXUoKmLY7jNf0Moco5RE30v4JO5Ao= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461120618317.4038479361493; Tue, 7 Jan 2020 21:25:20 -0800 (PST) Received: from localhost ([::1]:36976 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3qJ-0005mQ-0g for importer@patchew.org; Wed, 08 Jan 2020 00:25:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47327) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oX-0003qJ-8n for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oW-0002ci-4z for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:29 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:33315 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oV-0002Ui-83; Wed, 08 Jan 2020 00:23:28 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syM96vZyz9sRh; Wed, 8 Jan 2020 16:23:17 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460997; bh=dodT1uscgQVznABK1X7L2iHrmYh5gDhROj4lKaOEfes=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J/fOBO6ZlsL39NTzHEZXAYKMBHSfF+p14Djw/0YW2L9jwHlWqVHxxCEerAcg30jhg /Fy6mSVlUDYXDNPJ0ofws/W9KJspbmoYprJXQqsJ9N1yEYjqsX6jHYRMPuVupeqnXI fqMFlt2jqZmlkjGkFCNULq2yfZwda5oYwYrWZglo= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 05/26] ppc/pnv: Modify the powerdown notifier to get the PowerNV machine Date: Wed, 8 Jan 2020 16:22:51 +1100 Message-Id: <20200108052312.238710-6-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater Use container_of() instead of qdev_get_machine() Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20191219181155.32530-2-clg@kaod.org> Signed-off-by: David Gibson --- hw/ppc/pnv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index f77e7ca84e..855254f282 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -561,7 +561,7 @@ static void *pnv_dt_create(MachineState *machine) =20 static void pnv_powerdown_notify(Notifier *n, void *opaque) { - PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); + PnvMachineState *pnv =3D container_of(n, PnvMachineState, powerdown_no= tifier); =20 if (pnv->bmc) { pnv_bmc_powerdown(pnv->bmc); --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461648; cv=none; d=zohomail.com; s=zohoarc; b=IQFMuzcZY6V9rqVpsMDEPJHZFMfnr+foQBQI+5y9AQBfWq3/tWv2sPo7LvxF5cdSNN/lgiZchwKbs2GZl5diI9by4UU6Rm+R+NidgtaaBmjD7ISAKPyRXDw7NB0nUAWPbNpSrg29EPZrNyQ2VTOieZSTiodv19xP+h/D5uUvBFw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461648; 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=mv43D0BM2CfZY+2+78WvKDetIx/X1mz9FPlio4Ortbs=; b=FLvzcM2o1PodQZ+AorQJvO9kBxBSy8LT8nBhvfRYYVrwqYJKOMYSH/96CPyeg3QUiGy03UDSfegy2y5jVSfg5DeoUo+oYuAqdVUW85wf1ggfwzorqdeMYYFX+ZP7zqjSZhss6HIlIBi/15JTZWkYVn3GPQ3XeV/GZi6VMjYGqfg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15784616483393.676727940621163; Tue, 7 Jan 2020 21:34:08 -0800 (PST) Received: from localhost ([::1]:37096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3yo-0000lI-Id for importer@patchew.org; Wed, 08 Jan 2020 00:34:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47416) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oZ-0003qt-L5 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002g5-FR for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:31 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:37841 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002dQ-3x; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB4srTz9sSJ; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=K4gmsQsjqkgxHMHY6wYcJkaVCCpvjnAzS4xbEtMGHfU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mKU4LJz5VnbpK0PjUrno0/Pez/6DJLWnSlifmx3xj1n4rBI+IbXjXxoC1sk2grzex QW9OuujZKjbDeMxp9BQssnDQeYVa5nBi2fi1GqQbMUZ/kUBf/d7GJgxkaplAeCfnjk Gu1kkyciG/V3iqZDFr40FPyztK38dfvpkjthBfEg= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 06/26] mos6522: remove anh register Date: Wed, 8 Jan 2020 16:22:52 +1100 Message-Id: <20200108052312.238710-7-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Laurent Vivier , qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Laurent Vivier Register addr 1 is defined as buffer A with handshake (vBufAH), register addr 15 is also defined as buffer A without handshake (vBufA). As both addresses access the same register, remove the definition of 'anh' and use only 'a' (with VIA_REG_ANH and VIA_REG_A). Fixes: 51f233ec92cd ("misc: introduce new mos6522 VIA device and enable it = for ppc builds") Signed-off-by: Laurent Vivier Message-Id: <20191220214054.76525-1-laurent@vivier.eu> Signed-off-by: David Gibson --- hw/misc/mos6522.c | 16 ++++++++-------- include/hw/misc/mos6522.h | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/hw/misc/mos6522.c b/hw/misc/mos6522.c index cecf0be59e..10b85bf751 100644 --- a/hw/misc/mos6522.c +++ b/hw/misc/mos6522.c @@ -244,6 +244,9 @@ uint64_t mos6522_read(void *opaque, hwaddr addr, unsign= ed size) val =3D s->b; break; case VIA_REG_A: + qemu_log_mask(LOG_UNIMP, "Read access to register A with handshake"= ); + /* fall through */ + case VIA_REG_ANH: val =3D s->a; break; case VIA_REG_DIRB: @@ -297,9 +300,7 @@ uint64_t mos6522_read(void *opaque, hwaddr addr, unsign= ed size) val =3D s->ier | 0x80; break; default: - case VIA_REG_ANH: - val =3D s->anh; - break; + g_assert_not_reached(); } =20 if (addr !=3D VIA_REG_IFR || val !=3D 0) { @@ -322,6 +323,9 @@ void mos6522_write(void *opaque, hwaddr addr, uint64_t = val, unsigned size) mdc->portB_write(s); break; case VIA_REG_A: + qemu_log_mask(LOG_UNIMP, "Write access to register A with handshake= "); + /* fall through */ + case VIA_REG_ANH: s->a =3D (s->a & ~s->dira) | (val & s->dira); mdc->portA_write(s); break; @@ -395,9 +399,7 @@ void mos6522_write(void *opaque, hwaddr addr, uint64_t = val, unsigned size) qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)); break; default: - case VIA_REG_ANH: - s->anh =3D val; - break; + g_assert_not_reached(); } } =20 @@ -439,7 +441,6 @@ const VMStateDescription vmstate_mos6522 =3D { VMSTATE_UINT8(pcr, MOS6522State), VMSTATE_UINT8(ifr, MOS6522State), VMSTATE_UINT8(ier, MOS6522State), - VMSTATE_UINT8(anh, MOS6522State), VMSTATE_STRUCT_ARRAY(timers, MOS6522State, 2, 0, vmstate_mos6522_timer, MOS6522Timer), VMSTATE_END_OF_LIST() @@ -460,7 +461,6 @@ static void mos6522_reset(DeviceState *dev) s->ifr =3D 0; s->ier =3D 0; /* s->ier =3D T1_INT | SR_INT; */ - s->anh =3D 0; =20 s->timers[0].frequency =3D s->frequency; s->timers[0].latch =3D 0xffff; diff --git a/include/hw/misc/mos6522.h b/include/hw/misc/mos6522.h index 493c907537..97384c6e02 100644 --- a/include/hw/misc/mos6522.h +++ b/include/hw/misc/mos6522.h @@ -115,7 +115,6 @@ typedef struct MOS6522State { uint8_t pcr; uint8_t ifr; uint8_t ier; - uint8_t anh; =20 MOS6522Timer timers[2]; uint64_t frequency; --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461270; cv=none; d=zohomail.com; s=zohoarc; b=GSBJnpThlvyImJ3CIfLh42LRym/woMRYk8hg/d9Sxd/edrvd7Hqpgxhhi4JO7p1+r501S1RHHELM0mrVefjo+lBKOWUXVjbUsDAB4rSpH1pOYl9upHftmLBysHNrbqkvuyIdnI4BUJf35dBk5hNJmB6FKlcWZWQ7ti+S53ig1Ic= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461270; h=Content-Type: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=RQ5UHdxvbE4B45WgB7mUMg0hMIsvKGe+TcLZnJMBJL8=; b=Ek/RfMtLdPdSX0wUHyNnl+m/4Aq2JfwQHJcIjv3qalq4isl5J24K3hR7js7wIwm+TrTomZQ+vuYD8xu9AIfMuPpGibZuVrvAg2oROO2SOm9G8orFVsmso73qBMNOHP0eamfizucxqy9Yo1VGUiWpAA4sxQwg7brOqptGG1P/7uY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461270705662.1209955828257; Tue, 7 Jan 2020 21:27:50 -0800 (PST) Received: from localhost ([::1]:37022 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3sj-0001Wv-BG for importer@patchew.org; Wed, 08 Jan 2020 00:27:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47465) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oa-0003rD-Ei for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002ha-Uq for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:58843 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002da-Ir; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB5t59z9sSG; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=mBUMRDLOn4RhQLMiLfYdwaUWkSfy6s7D/PbVF3ODnjw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k/OrmbWbBLZfcr4wJrVvzaAtVHfv53WELUCgaltDaMzx2gqn45IAk/T5qKzB8Aef1 xXdPp/6bKA2Qn3jVqTJr8iD4OLgS4JX/ucIVEgwOXPubkva7jdAH7NWq3eadgbfm9u h9H0N0YX7u3LI9Z2AQ9EZtUKtHuoVxiPk8nQE7rM= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 07/26] spapr/xive: Use device_class_set_parent_realize() Date: Wed, 8 Jan 2020 16:22:53 +1100 Message-Id: <20200108052312.238710-8-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz The XIVE router base class currently inherits an empty realize hook from the sysbus device base class, but it will soon implement one of its own to perform some sanity checks. Do the preliminary plumbing to have it called. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20191219181155.32530-6-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/spapr_xive.c | 12 +++++++++++- include/hw/ppc/spapr_xive.h | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 57305c56d7..32322470a8 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -286,10 +286,17 @@ static void spapr_xive_instance_init(Object *obj) static void spapr_xive_realize(DeviceState *dev, Error **errp) { SpaprXive *xive =3D SPAPR_XIVE(dev); + SpaprXiveClass *sxc =3D SPAPR_XIVE_GET_CLASS(xive); XiveSource *xsrc =3D &xive->source; XiveENDSource *end_xsrc =3D &xive->end_source; Error *local_err =3D NULL; =20 + sxc->parent_realize(dev, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + if (!xive->nr_irqs) { error_setg(errp, "Number of interrupt needs to be greater 0"); return; @@ -760,10 +767,12 @@ static void spapr_xive_class_init(ObjectClass *klass,= void *data) XiveRouterClass *xrc =3D XIVE_ROUTER_CLASS(klass); SpaprInterruptControllerClass *sicc =3D SPAPR_INTC_CLASS(klass); XivePresenterClass *xpc =3D XIVE_PRESENTER_CLASS(klass); + SpaprXiveClass *sxc =3D SPAPR_XIVE_CLASS(klass); =20 dc->desc =3D "sPAPR XIVE Interrupt Controller"; dc->props =3D spapr_xive_properties; - dc->realize =3D spapr_xive_realize; + device_class_set_parent_realize(dc, spapr_xive_realize, + &sxc->parent_realize); dc->vmsd =3D &vmstate_spapr_xive; =20 xrc->get_eas =3D spapr_xive_get_eas; @@ -794,6 +803,7 @@ static const TypeInfo spapr_xive_info =3D { .instance_init =3D spapr_xive_instance_init, .instance_size =3D sizeof(SpaprXive), .class_init =3D spapr_xive_class_init, + .class_size =3D sizeof(SpaprXiveClass), .interfaces =3D (InterfaceInfo[]) { { TYPE_SPAPR_INTC }, { } diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h index 3a103c224d..93d09d68de 100644 --- a/include/hw/ppc/spapr_xive.h +++ b/include/hw/ppc/spapr_xive.h @@ -15,6 +15,10 @@ =20 #define TYPE_SPAPR_XIVE "spapr-xive" #define SPAPR_XIVE(obj) OBJECT_CHECK(SpaprXive, (obj), TYPE_SPAPR_XIVE) +#define SPAPR_XIVE_CLASS(klass) \ + OBJECT_CLASS_CHECK(SpaprXiveClass, (klass), TYPE_SPAPR_XIVE) +#define SPAPR_XIVE_GET_CLASS(obj) \ + OBJECT_GET_CLASS(SpaprXiveClass, (obj), TYPE_SPAPR_XIVE) =20 typedef struct SpaprXive { XiveRouter parent; @@ -47,6 +51,12 @@ typedef struct SpaprXive { VMChangeStateEntry *change; } SpaprXive; =20 +typedef struct SpaprXiveClass { + XiveRouterClass parent; + + DeviceRealize parent_realize; +} SpaprXiveClass; + /* * The sPAPR machine has a unique XIVE IC device. Assign a fixed value * to the controller block id value. It can nevertheless be changed --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461456; cv=none; d=zohomail.com; s=zohoarc; b=VUWJq7xvOT+MlKlunb3vfrNj++uz/8vWrHRD9fSlVne4Gx4anbLAXf9hJd0rlqXsKBnffxZLzwlAO5DqINYT7RBKRN8CieQjeewYSflCDZKNiccY7x+NAHiW3ZWdpehCsIVZvZDYZjnbDykDLIosmNMh4bb7E2lqyNnumrI1qCY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461456; 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=iEJROB359RlgXKNyr1wxAOMap9CGYbD0xaRvf7tiU8E=; b=G4UajJqaoEN933/Exa8bXYFe/1nOtPsSYQSewUBK5RgAhS7T8iTDmtxDscQThXtrR+2WfV2yUwjfIYc0DtvVoS1jjqGnGhq6TcJnyiO4G99UwYA4d4OyZQ112CJN8cXrujwNJZcfk+cFdo0ViniCEshEeEkDUBaAGW9RYMkGYFY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461456917438.6601450717295; Tue, 7 Jan 2020 21:30:56 -0800 (PST) Received: from localhost ([::1]:37050 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3vj-0005RN-2X for importer@patchew.org; Wed, 08 Jan 2020 00:30:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47466) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oa-0003rE-FR for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002hE-Th for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:36599 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002dY-HO; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB3pqrz9sSS; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=5xKJEBqM26YAjxkdN6Iin53kkuGV/UKASaxALQ4irx8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NkB/nFIdWFEkB5TIGmyJiE8qqdcvHsechDINtbn5WINsuTjdlaQF//ICsQZR8pQml E3sSZcbyl3k1GOcZmf6QwUskAuiHPAZqp25dj2hw5TjDD6A0uTDB4QOdvkB7LEv/kv PzB3D0FHo/h8LBjoGXDXIJyvHzSL47lHOzQ6z2nI= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 08/26] ppc/spapr: Don't call KVM_SVM_OFF ioctl on TCG Date: Wed, 8 Jan 2020 16:22:54 +1100 Message-Id: <20200108052312.238710-9-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Alexey Kardashevskiy , qemu-devel@nongnu.org, Bharata B Rao , groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Bharata B Rao Invoking KVM_SVM_OFF ioctl for TCG guests will lead to a QEMU crash. Fix this by ensuring that we don't call KVM_SVM_OFF ioctl on TCG. Reported-by: Alexey Kardashevskiy Fixes: 4930c1966249 ("ppc/spapr: Support reboot of secure pseries guest") Signed-off-by: Bharata B Rao Message-Id: <20200102054155.13175-1-bharata@linux.ibm.com> Signed-off-by: David Gibson --- target/ppc/kvm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 45a26c0fc6..b5799e62b4 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -2902,9 +2902,12 @@ void kvmppc_set_reg_tb_offset(PowerPCCPU *cpu, int64= _t tb_offset) void kvmppc_svm_off(Error **errp) { int rc; - KVMState *s =3D KVM_STATE(current_machine->accelerator); =20 - rc =3D kvm_vm_ioctl(s, KVM_PPC_SVM_OFF); + if (!kvm_enabled()) { + return; + } + + rc =3D kvm_vm_ioctl(KVM_STATE(current_machine->accelerator), KVM_PPC_S= VM_OFF); if (rc && rc !=3D -ENOTTY) { error_setg_errno(errp, -rc, "KVM_PPC_SVM_OFF ioctl failed"); } --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461418; cv=none; d=zohomail.com; s=zohoarc; b=PT/bO8/QWaLXOUrLA44o8H6ClU1yK8e2nvflx8LOfk1CguaAhPPeghRxWHdbvolXwBJLRQJzlHXY3kmDOe62/sQLZJAwGYYGmykSxVVVZv0fTJq6ypTUJJWjpXtXgCq2efle8Ex00LJH905PSAvx7xNjwK+EiI7ZO3AbdU0Z9yc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461418; 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=pBueXVmt1QIiS421pFkJlUYQvb94SscXdzxrh5ktNts=; b=CAPO0dtTOVdj2aR5yYN2HtpjNBbtMQX7bcWfBhgA7W30bTQSoDgboPqq9XdQlS1PCwgSRkFbNBa2adcrQwDu+xPMZaDZHmbMAmkSNmgkV6isqc3NSu0IbrXgcJxx5FKiF9gFUsmVfdLrcRGEejt1IMNGz3d/HE9XGgiFq6PGZGU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461418095252.23381863976283; Tue, 7 Jan 2020 21:30:18 -0800 (PST) Received: from localhost ([::1]:37046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3v5-0004uT-UF for importer@patchew.org; Wed, 08 Jan 2020 00:30:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47409) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oZ-0003qs-I7 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002gA-Fv for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:31 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:35841 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002dS-4m; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB6nWfz9sSH; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=4D/0sZ0MmUUotjD8FLiAeUMQR4zWDe6W7oCEM+G6yhU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QY+/MKHXjwpdEU0oA27dSPBzGleAf/MupbAQ/8NVbJqJoTVgma9h8t8DexrDTz/EL vyKmZT01wmxuXbzmS2R5i+i33fWCRkFP4H3Wko++XyDyeQg3pUo2tMgrBCMd37J36k yUz5MDpLthzwv8JKkVKXnCQnxj9YNSrmtktZ5v7c= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 09/26] spapr.c: remove 'out' label in spapr_dt_cas_updates() Date: Wed, 8 Jan 2020 16:22:55 +1100 Message-Id: <20200108052312.238710-10-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Daniel Henrique Barboza , qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza 'out' can be replaced by 'return' with the appropriate return value. CC: David Gibson CC: qemu-ppc@nongnu.org Signed-off-by: Daniel Henrique Barboza Message-Id: <20200106182425.20312-2-danielhb413@gmail.com> Signed-off-by: David Gibson --- hw/ppc/spapr.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index e62c89b3dd..eb0b84d300 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -878,7 +878,7 @@ static int spapr_dt_cas_updates(SpaprMachineState *spap= r, void *fdt, g_assert(smc->dr_lmb_enabled); ret =3D spapr_populate_drconf_memory(spapr, fdt); if (ret) { - goto out; + return ret; } } =20 @@ -889,11 +889,8 @@ static int spapr_dt_cas_updates(SpaprMachineState *spa= pr, void *fdt, return offset; } } - ret =3D spapr_ovec_populate_dt(fdt, offset, spapr->ov5_cas, - "ibm,architecture-vec-5"); - -out: - return ret; + return spapr_ovec_populate_dt(fdt, offset, spapr->ov5_cas, + "ibm,architecture-vec-5"); } =20 static void spapr_dt_rtas(SpaprMachineState *spapr, void *fdt) --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461807; cv=none; d=zohomail.com; s=zohoarc; b=WUzscoExVZmLBppbB/r8107s2CfPVgRCxrSAX1fxgf1xMmlXyQixTyJMtXl6UoBZTcudYG4tF7p3NVNtDJ2kiQM+I34Oh/bo7cnpu1zs23nbsS7Aw+iBGs9+tovX4ek1eV58R6SLXM8OH9WhY+BfQPUaluhQ7eQWQ/FDEfc4i0U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461807; 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=rygEqE0t99gMjrA0Gc00Q1Ytc5yCtS44+YfX/yPEMsI=; b=P6DWDhJE3UAcTzXWPEykPjfOAfTjXUE13ehNlZ7WET7rMqeHCShBfNLbgEEz+qas7b0u2quwNmSOTHu9rkdeemH8hwGhzuyD6pFXukNLTM1BNsDZ0T4jEoLlciPp8uXj4+BbTPROpUPynHohgGCmoL/LHvMndA0KL7tM0TIfbbE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15784618077631010.0567719392783; Tue, 7 Jan 2020 21:36:47 -0800 (PST) Received: from localhost ([::1]:37146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip41N-0004os-SX for importer@patchew.org; Wed, 08 Jan 2020 00:36:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47420) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oZ-0003qv-M1 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002gS-JW for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:31 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:58611 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002dJ-8H; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMB2mtgz9sRp; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460998; bh=iU2bRyLYZIPuyrd3WQb8N58JS77BRz/E1w5KXyLxf3Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ea/zlJERrEbJJjRZjkcBuKWQ9hIOmHNiTBt7N9QHTrrGZmArsnhFOt+Gi6uXV7zvG pXx+UA/4gQG3YOGKEerfuTdcLYCzKd7KEJY7mtzzePwwRvK7o7bQTPRaiom1tEUK/b ELcZmolZ8q09/ElRgGMNVfuy01anwqYiF4cYLlPA= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 10/26] ppc440_bamboo.c: remove label from bamboo_load_device_tree() Date: Wed, 8 Jan 2020 16:22:56 +1100 Message-Id: <20200108052312.238710-11-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Daniel Henrique Barboza , qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Daniel Henrique Barboza 'out' label can be replaced by 'return -1' in all cases. CC: David Gibson CC: qemu-ppc@nongnu.org Signed-off-by: Daniel Henrique Barboza Message-Id: <20200106182425.20312-3-danielhb413@gmail.com> Signed-off-by: David Gibson --- hw/ppc/ppc440_bamboo.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 4d95c0f8a8..b782641b23 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -71,12 +71,12 @@ static int bamboo_load_device_tree(hwaddr addr, =20 filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FI= LE); if (!filename) { - goto out; + return -1; } fdt =3D load_device_tree(filename, &fdt_size); g_free(filename); if (fdt =3D=3D NULL) { - goto out; + return -1; } =20 /* Manipulate device tree in memory. */ @@ -117,10 +117,6 @@ static int bamboo_load_device_tree(hwaddr addr, rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr); g_free(fdt); return 0; - -out: - - return ret; } =20 /* Create reset TLB entries for BookE, spanning the 32bit addr space. */ --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461648; cv=none; d=zohomail.com; s=zohoarc; b=GZGRFBklDYYvxLhp8eRvdO0WxYFtVwlO/i6kKsA+uYPh29LScJgFdTHM7Jtqz6ZTOvS7aND4RuFIhjbzY0fU68FY/ohApt9w9snzCx7LAt9mk+LI3BT8WDHax8lUgPifmignMUh3J8viD+x8BzVlGg1t/ODBKMfYhatFF2wPBlA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461648; h=Content-Type: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=q9jsJILI/YuCUsyaSwS0pfsCuPWcnu0HUT1+QI4Sqvg=; b=SMdowNxFwqESCOBlOZyuG34U/IrfGTHaEHMaZtZWkgOp00eLDlMc8rlkRJ66OBM1wyEeouHSHF4py4Sy6rEZ8uR1QFgn40LRJORMaO/uX6fUOrlyEBg4zVF8mij/OXZuueDCWcMTz5YyN0s4MgtVRH5r5NENA7dv4QGDCjDTVBE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461648950772.4936680929478; Tue, 7 Jan 2020 21:34:08 -0800 (PST) Received: from localhost ([::1]:37098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3yp-0000lj-Ct for importer@patchew.org; Wed, 08 Jan 2020 00:34:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47485) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oa-0003rH-QJ for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oZ-0002hv-1x for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:48187 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002db-LC; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMC0ZBcz9sSL; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460999; bh=/M+wuYlE/0AJhHE/VubrYWO2dOP6d45pWjNLeGuCaxg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l+dEYtKO+nwZOJO3Qz9ABRV2zuOy6+47P4CcnDV+XWKbEkyPVuhZ0K3q44HGtSoK3 CMbhgIlkAKxMeaO7NdbNL2JKGxIQzrG8a0F53NBqTXsOBZV9Z0pg5A20u8kTKNRAe3 +2L3DHDmavteTyRk+ugYXOqzbhugg3pg9xm8cdEM= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 11/26] ppc/pnv: Drop "num-chips" machine property Date: Wed, 8 Jan 2020 16:22:57 +1100 Message-Id: <20200108052312.238710-12-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz The number of CPU chips of the powernv machine is configurable through a "num-chips" property. This doesn't fit well with the CPU topology, eg. some configurations can come up with more CPUs than the maximum of CPUs set in the toplogy. This causes assertion to be hit with mttcg: -machine powernv,num-chips=3D2 -smp cores=3D2 -accel tcg,thread=3Dmulti ERROR: tcg/tcg.c:789:tcg_register_thread: assertion failed: (n < ms->smp.max_cpus) Aborted (core dumped) Mttcg mandates the CPU topology to be dimensioned to the actual number of CPUs, depending on the number of chips the user asked for. That is, '-machine num-chips=3DN' should always have a '-smp' companion with a topology that meats the resulting number of CPUs, typically '-smp sockets=3DN'. It thus seems that "num-chips" doesn't bring anything but forcing the user to specify the requested number of chips on the command line twice. Simplify the command line by computing the number of chips based on the CPU topology exclusively. The powernv machine isn't a production thing ; it is mostly used by developpers to prepare the bringup of real HW. Because of this and for simplicity, this deliberately ignores the official deprecation process and dumps "num-chips" right away : '-smp sockets=3DN' is now the only way to control the number of CPU chips. This is done at machine init because smp_parse() is called after instance init. Signed-off-by: Greg Kurz Message-Id: <157830658266.533764.2214183961444213947.stgit@bahia.lan> Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: David Gibson --- hw/ppc/pnv.c | 62 ++++++++++------------------------------------------ 1 file changed, 12 insertions(+), 50 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 855254f282..6d7bf9280e 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -768,6 +768,18 @@ static void pnv_init(MachineState *machine) exit(1); } =20 + pnv->num_chips =3D + machine->smp.max_cpus / (machine->smp.cores * machine->smp.threads= ); + /* + * TODO: should we decide on how many chips we can create based + * on #cores and Venice vs. Murano vs. Naples chip type etc..., + */ + if (!is_power_of_2(pnv->num_chips) || pnv->num_chips > 4) { + error_report("invalid number of chips: '%d'", pnv->num_chips); + error_printf("Try '-smp sockets=3DN'. Valid values are : 1, 2 or 4= .\n"); + exit(1); + } + pnv->chips =3D g_new0(PnvChip *, pnv->num_chips); for (i =3D 0; i < pnv->num_chips; i++) { char chip_name[32]; @@ -1696,53 +1708,6 @@ PnvChip *pnv_get_chip(uint32_t chip_id) return NULL; } =20 -static void pnv_get_num_chips(Object *obj, Visitor *v, const char *name, - void *opaque, Error **errp) -{ - visit_type_uint32(v, name, &PNV_MACHINE(obj)->num_chips, errp); -} - -static void pnv_set_num_chips(Object *obj, Visitor *v, const char *name, - void *opaque, Error **errp) -{ - PnvMachineState *pnv =3D PNV_MACHINE(obj); - uint32_t num_chips; - Error *local_err =3D NULL; - - visit_type_uint32(v, name, &num_chips, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - - /* - * TODO: should we decide on how many chips we can create based - * on #cores and Venice vs. Murano vs. Naples chip type etc..., - */ - if (!is_power_of_2(num_chips) || num_chips > 4) { - error_setg(errp, "invalid number of chips: '%d'", num_chips); - return; - } - - pnv->num_chips =3D num_chips; -} - -static void pnv_machine_instance_init(Object *obj) -{ - PnvMachineState *pnv =3D PNV_MACHINE(obj); - pnv->num_chips =3D 1; -} - -static void pnv_machine_class_props_init(ObjectClass *oc) -{ - object_class_property_add(oc, "num-chips", "uint32", - pnv_get_num_chips, pnv_set_num_chips, - NULL, NULL, NULL); - object_class_property_set_description(oc, "num-chips", - "Specifies the number of processor chips", - NULL); -} - static void pnv_machine_power8_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -1812,8 +1777,6 @@ static void pnv_machine_class_init(ObjectClass *oc, v= oid *data) */ mc->default_ram_size =3D INITRD_LOAD_ADDR + INITRD_MAX_SIZE; ispc->print_info =3D pnv_pic_print_info; - - pnv_machine_class_props_init(oc); } =20 #define DEFINE_PNV8_CHIP_TYPE(type, class_initfn) \ @@ -1866,7 +1829,6 @@ static const TypeInfo types[] =3D { .parent =3D TYPE_MACHINE, .abstract =3D true, .instance_size =3D sizeof(PnvMachineState), - .instance_init =3D pnv_machine_instance_init, .class_init =3D pnv_machine_class_init, .class_size =3D sizeof(PnvMachineClass), .interfaces =3D (InterfaceInfo[]) { --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462278; cv=none; d=zohomail.com; s=zohoarc; b=IccLxeIfKCIf/Ltvnqmj61P2SdAqQ1kvAT+jWSJ6KPTkTW6DjZS6C5R1TBMN7yqsEoTOE/PEVu/yXS8drD4RqPgZSc0UWOMeJVwzBxqfoB9XyC7QNYg2C5hGEux5mKRcq3cSTcaZpvJNGrnYAjLJnsGo0pAw83RjWacGxUYw2G0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462278; h=Content-Type: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=zgVuvEObvDBOlFoES00YLVPDsi2fHpDa28HxzjUA2p0=; b=GRkN1Zli37sRlfp6lyCn+f+8sQXO2Gt2WAtLGtjCSoEDAgyxg37tD69UZtfHko1rMtb29nDowNDwxsUnRHGYwAxowH30eivBEGR+/P/zGpOvmsux1uv2n8+j3/NuUC74/X40TrkEu7ZZ4anrqfY1sYojTUNFRSXy2g0MDP2kB/E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462278014523.1406680494978; Tue, 7 Jan 2020 21:44:38 -0800 (PST) Received: from localhost ([::1]:37276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip48y-00087k-NU for importer@patchew.org; Wed, 08 Jan 2020 00:44:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48074) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oy-0004T2-OE for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ox-0003L1-Hw for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:56 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:41053 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ox-0002mS-6D; Wed, 08 Jan 2020 00:23:55 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF2rBhz9sSc; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=DofJhxtpmIKnTqtj9CNLAQXbsiC/mOgeOIPt8kusFHw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eSQkt3IhvfEaMU1kMztptQ1qc/ouMllwOmuwNveZRTTqbpZs5SQdYIxaaGGzQMixx rKKFPLn67UD54ic0MdWxxYqKkXzbwjt0rPuTDaxkrukK3Xg1S5reVCOFBc3xR60h4G 7D9gbHsMUYqpCAwOoQia3falgPbWXm5u3PhCTBZA= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 12/26] spapr/xive: remove redundant check in spapr_match_nvt() Date: Wed, 8 Jan 2020 16:22:58 +1100 Message-Id: <20200108052312.238710-13-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater spapr_match_nvt() is a XIVE operation and is used by the machine to look for a matching target when an event notification is being delivered. An assert checks that spapr_match_nvt() is called only when the machine has selected the XIVE interrupt mode but it is redundant with the XIVE_PRESENTER() dynamic cast. Apply the cast to spapr->active_intc and remove the assert. Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106163207.4608-1-clg@kaod.org> Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/ppc/spapr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index eb0b84d300..30a5fbd3be 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4195,19 +4195,19 @@ static void spapr_pic_print_info(InterruptStatsProv= ider *obj, kvm_irqchip_in_kernel() ? "in-kernel" : "emulated"); } =20 +/* + * This is a XIVE only operation + */ static int spapr_match_nvt(XiveFabric *xfb, uint8_t format, uint8_t nvt_blk, uint32_t nvt_idx, bool cam_ignore, uint8_t priority, uint32_t logic_serv, XiveTCTXMatch *match) { SpaprMachineState *spapr =3D SPAPR_MACHINE(xfb); - XivePresenter *xptr =3D XIVE_PRESENTER(spapr->xive); + XivePresenter *xptr =3D XIVE_PRESENTER(spapr->active_intc); XivePresenterClass *xpc =3D XIVE_PRESENTER_GET_CLASS(xptr); int count; =20 - /* This is a XIVE only operation */ - assert(spapr->active_intc =3D=3D SPAPR_INTC(spapr->xive)); - count =3D xpc->match_nvt(xptr, format, nvt_blk, nvt_idx, cam_ignore, priority, logic_serv, match); if (count < 0) { --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461511; cv=none; d=zohomail.com; s=zohoarc; b=KPdUkjxEyYhpi2U3rh1nVGz7YCECWS7wkWwz/O4Y9jkRUFt+c1YFPxogCIDMQR8SN8Zjf6kj/T5nJxG/W+ibLiViBdbF8fvjyr/yoKhmUZmt9Xekb43wGqGAbdq2+QRq9TGSK0ziT+dWxn1Tf+mq1rA0rWcO57U3GM6jvNDfyD8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461511; h=Content-Type: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=jj3cwEFHosPxwXK/ub0+kvLb3OpKKr4ZfO9+rYxyg4E=; b=GujSxeU/vBEisfHuxh9Ka3gyoVRcwtgulqxwSgx+sTDvdwllMsMHm3vSKK+nZWMA8p9u6cSztWccBy849GESMDGEaRPY1XycSDmhLPjpO6ycixrQhC/S00KFWlsTkhzdBHPCcHVHWm3KRdsH9zUIFA7ygSOF6aAaShz/BlCu1xc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461511739987.2632444580183; Tue, 7 Jan 2020 21:31:51 -0800 (PST) Received: from localhost ([::1]:37070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3wb-0006yH-Tu for importer@patchew.org; Wed, 08 Jan 2020 00:31:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47617) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3od-0003u8-3o for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ob-0002mF-9r for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:57905 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oa-0002iV-VM; Wed, 08 Jan 2020 00:23:33 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMD5sG2z9sSl; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461000; bh=YKj/JCOL4eY6T2jPRiGw4s60Uql1wUM2s7+5CxP/exA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=el2chWJBxQYRq7XKP+la4OeNZ2DGThS3V2l1sQ8GN0AVEu8tSiYKYJjYrrgYJBGqm wl2DWdSGcDAXJKqEQh2uc+/8E0R+o+QdPdqnwGoT/VhUlksyl3vLFdFcY67sY7Gx3w uELRH15zNfracfG0bTMUI7m+4J5kZiPJtIHnpS4U= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 13/26] ppc/pnv: Introduce a "xics" property alias under the PSI model Date: Wed, 8 Jan 2020 16:22:59 +1100 Message-Id: <20200108052312.238710-14-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater This removes the need of the intermediate link under PSI to pass the XICS link to the underlying ICSState object. Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Greg Kurz Message-Id: <20200106145645.4539-2-clg@kaod.org> Signed-off-by: David Gibson --- hw/ppc/pnv.c | 4 ++-- hw/ppc/pnv_psi.c | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 6d7bf9280e..90e92e82c5 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1004,8 +1004,6 @@ static void pnv_chip_power8_instance_init(Object *obj) =20 object_initialize_child(obj, "psi", &chip8->psi, sizeof(chip8->psi), TYPE_PNV8_PSI, &error_abort, NULL); - object_property_add_const_link(OBJECT(&chip8->psi), "xics", - OBJECT(qdev_get_machine()), &error_abor= t); =20 object_initialize_child(obj, "lpc", &chip8->lpc, sizeof(chip8->lpc), TYPE_PNV8_LPC, &error_abort, NULL); @@ -1072,6 +1070,8 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) /* Processor Service Interface (PSI) Host Bridge */ object_property_set_int(OBJECT(&chip8->psi), PNV_PSIHB_BASE(chip), "bar", &error_fatal); + object_property_set_link(OBJECT(&chip8->psi), OBJECT(qdev_get_machine(= )), + ICS_PROP_XICS, &error_abort); object_property_set_bool(OBJECT(&chip8->psi), true, "realized", &local= _err); if (local_err) { error_propagate(errp, local_err); diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 75e20d9da0..4da3d25686 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -470,6 +470,8 @@ static void pnv_psi_power8_instance_init(Object *obj) =20 object_initialize_child(obj, "ics-psi", &psi8->ics, sizeof(psi8->ics), TYPE_ICS, &error_abort, NULL); + object_property_add_alias(obj, ICS_PROP_XICS, OBJECT(&psi8->ics), + ICS_PROP_XICS, &error_abort); } =20 static const uint8_t irq_to_xivr[] =3D { @@ -485,19 +487,10 @@ static void pnv_psi_power8_realize(DeviceState *dev, = Error **errp) { PnvPsi *psi =3D PNV_PSI(dev); ICSState *ics =3D &PNV8_PSI(psi)->ics; - Object *obj; Error *err =3D NULL; unsigned int i; =20 - obj =3D object_property_get_link(OBJECT(dev), "xics", &err); - if (!obj) { - error_setg(errp, "%s: required link 'xics' not found: %s", - __func__, error_get_pretty(err)); - return; - } - /* Create PSI interrupt control source */ - object_property_set_link(OBJECT(ics), obj, ICS_PROP_XICS, &error_abort= ); object_property_set_int(OBJECT(ics), PSI_NUM_INTERRUPTS, "nr-irqs", &e= rr); if (err) { error_propagate(errp, err); --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461670; cv=none; d=zohomail.com; s=zohoarc; b=XbonxnC7u4nX6mSXDJwsmUAo9e/kdKCsHKylBwIYvacG6DEsU03t99dUEPa10E5wnq3X4gxNgc2YdIEO8v4qkzbZcz0Flkz6k0aOiyxZFv/zpVK13xxHELk/GtAkIj+KJxWY1+YIUPr7v4AW1VtjS+PeeX7/pZVicBoeA/0x2cE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461670; h=Content-Type: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=XgSlOzsNBFJpQ32ifDlpnhIl4IYioTZJKcOfrgrxo2E=; b=MDVfDqZj9SlKuYK7t4l2xi53PYzP8WWWRm9Z0xAfAnbrlVamHDjdH2AI12XWIHvXDGcF5J/F2Rl5C+OMNCqPrfqTxKsTNbtLk5VWV70WlBdHnpdpYiB79YOXdtujV61WLG00c1xzJqehsSGDz9bnJk0iEC7yMKmpXftzWzNN2dQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461670819880.4627557484213; Tue, 7 Jan 2020 21:34:30 -0800 (PST) Received: from localhost ([::1]:37100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3zB-0001Ji-H2 for importer@patchew.org; Wed, 08 Jan 2020 00:34:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47608) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oc-0003tv-SJ for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ob-0002lh-2e for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:37531 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oa-0002hh-MB; Wed, 08 Jan 2020 00:23:32 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMC2D23z9sSf; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460999; bh=pyebuMBw3ms/ikfLlL+4BIuNnNMNU0G7ZtDbW5bCLxs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NVazueh+YdVTr3b4MoAS7rD2S2+vtQRDHEtFtswsAJROKN+NcHaC6K41G6hrTYIFn omDNIg02upNE35vHeks05cZpYQY1nOa1T2tlfOhGWRZltLdbdbN0PK2aHWtlnJJ6R5 2+cJLpYu2Qft4Ic6zswJQfizzUGD6vkP79QpXc7A= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 14/26] ppc/pnv: Introduce a "xics" property under the POWER8 chip Date: Wed, 8 Jan 2020 16:23:00 +1100 Message-Id: <20200108052312.238710-15-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater POWER8 is the only chip using the XICS interface. Add a "xics" link and a XICSFabric attribute under this chip to remove the use of qdev_get_machine() Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Greg Kurz Reviewed-by: David Gibson Message-Id: <20200106145645.4539-3-clg@kaod.org> Signed-off-by: David Gibson --- hw/ppc/pnv.c | 24 +++++++++++++++++++----- include/hw/ppc/pnv.h | 2 ++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 90e92e82c5..65cba84335 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -802,6 +802,13 @@ static void pnv_init(MachineState *machine) &error_fatal); object_property_set_int(chip, machine->smp.cores, "nr-cores", &error_fatal); + /* + * The POWER8 machine use the XICS interrupt interface. + * Propagate the XICS fabric to the chip and its controllers. + */ + if (object_dynamic_cast(OBJECT(pnv), TYPE_XICS_FABRIC)) { + object_property_set_link(chip, OBJECT(pnv), "xics", &error_abo= rt); + } object_property_set_bool(chip, true, "realized", &error_fatal); } g_free(chip_typename); @@ -843,12 +850,12 @@ static uint32_t pnv_chip_core_pir_p8(PnvChip *chip, u= int32_t core_id) static void pnv_chip_power8_intc_create(PnvChip *chip, PowerPCCPU *cpu, Error **errp) { + Pnv8Chip *chip8 =3D PNV8_CHIP(chip); Error *local_err =3D NULL; Object *obj; PnvCPUState *pnv_cpu =3D pnv_cpu_state(cpu); =20 - obj =3D icp_create(OBJECT(cpu), TYPE_PNV_ICP, XICS_FABRIC(qdev_get_mac= hine()), - &local_err); + obj =3D icp_create(OBJECT(cpu), TYPE_PNV_ICP, chip8->xics, &local_err); if (local_err) { error_propagate(errp, local_err); return; @@ -1002,6 +1009,12 @@ static void pnv_chip_power8_instance_init(Object *ob= j) { Pnv8Chip *chip8 =3D PNV8_CHIP(obj); =20 + object_property_add_link(obj, "xics", TYPE_XICS_FABRIC, + (Object **)&chip8->xics, + object_property_allow_set_link, + OBJ_PROP_LINK_STRONG, + &error_abort); + object_initialize_child(obj, "psi", &chip8->psi, sizeof(chip8->psi), TYPE_PNV8_PSI, &error_abort, NULL); =20 @@ -1021,7 +1034,6 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Err= or **errp) PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); int i, j; char *name; - XICSFabric *xi =3D XICS_FABRIC(qdev_get_machine()); =20 name =3D g_strdup_printf("icp-%x", chip->chip_id); memory_region_init(&chip8->icp_mmio, OBJECT(chip), name, PNV_ICP_SIZE); @@ -1037,7 +1049,7 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Err= or **errp) =20 for (j =3D 0; j < CPU_CORE(pnv_core)->nr_threads; j++) { uint32_t pir =3D pcc->core_pir(chip, core_hwid) + j; - PnvICPState *icp =3D PNV_ICP(xics_icp_get(xi, pir)); + PnvICPState *icp =3D PNV_ICP(xics_icp_get(chip8->xics, pir)); =20 memory_region_add_subregion(&chip8->icp_mmio, pir << 12, &icp->mmio); @@ -1053,6 +1065,8 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) Pnv8Psi *psi8 =3D &chip8->psi; Error *local_err =3D NULL; =20 + assert(chip8->xics); + /* XSCOM bridge is first */ pnv_xscom_realize(chip, PNV_XSCOM_SIZE, &local_err); if (local_err) { @@ -1070,7 +1084,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) /* Processor Service Interface (PSI) Host Bridge */ object_property_set_int(OBJECT(&chip8->psi), PNV_PSIHB_BASE(chip), "bar", &error_fatal); - object_property_set_link(OBJECT(&chip8->psi), OBJECT(qdev_get_machine(= )), + object_property_set_link(OBJECT(&chip8->psi), OBJECT(chip8->xics), ICS_PROP_XICS, &error_abort); object_property_set_bool(OBJECT(&chip8->psi), true, "realized", &local= _err); if (local_err) { diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index f78fd0dd96..56277862dd 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -72,6 +72,8 @@ typedef struct Pnv8Chip { Pnv8Psi psi; PnvOCC occ; PnvHomer homer; + + XICSFabric *xics; } Pnv8Chip; =20 #define TYPE_PNV9_CHIP "pnv9-chip" --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461969; cv=none; d=zohomail.com; s=zohoarc; b=m3oOV1bnKgIYg9beRtX1Sgtc2sZ37hQA9xF7zMcOVDewsXiRaDiYb7VdO1OHorGGKvfCPjfiwwoyKem08H4NHUx9AXi1ktXE0tH1BheOK2jEgX93FYjFMof/M51kqmZC2wuWbPiDu5MQkC4xTVSNmXOSyGqhEZu/BUNXjDoZx3w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461969; h=Content-Type: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=JC2WjIYpmMt3A4cMADfd3z8jWfGBTjUvmuW2Mg5PNw8=; b=hhwKZTs79U2VXKk4zIY5j5j4EYLZ1mXmylvbTatTNODEkVCBHv4wjZv/YxTFA8hV92QR1JHo+x1KCPrhxzDUxPJxsv1P0Q1bPn/kgNUAqHfrStNbMCvjDmufwwdLpvTT5GLv3bkVeEAq5NcXv6lKggyOqHmkLtUuNFnwNxB4Nbc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461969064533.2743098699744; Tue, 7 Jan 2020 21:39:29 -0800 (PST) Received: from localhost ([::1]:37184 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip43z-0000q6-KT for importer@patchew.org; Wed, 08 Jan 2020 00:39:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47580) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oc-0003tE-Dr for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oa-0002l9-R1 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:43941 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oa-0002hR-GX; Wed, 08 Jan 2020 00:23:32 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMC4X3Yz9sSX; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460999; bh=+Kba0GZL/Hqaic272S3HeDf3a0FZWcgeDtS8j3jcQaY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IOZu6E4qPk0t2ndr7prPeqY27RWBGWXozGXMMsS/ZeAFbkarkG1PjYCiNnwKpL7Gw F5mOTox0AD3a6wjq7U43OvcQQUZw+GbJS5eOqdMFqSr2xpyhRU/8pcxwltRu9Kl+uM eLJo6KMV1yvicggMmY0lmEGYmAcNgwOdR1WFcgEQ= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 15/26] pnv/xive: Use device_class_set_parent_realize() Date: Wed, 8 Jan 2020 16:23:01 +1100 Message-Id: <20200108052312.238710-16-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz The XIVE router base class currently inherits an empty realize hook from the sysbus device base class, but it will soon implement one of its own to perform some sanity checks. Do the preliminary plumbing to have it called. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: David Gibson Message-Id: <20200106145645.4539-4-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/pnv_xive.c | 10 ++++++++++ include/hw/ppc/pnv_xive.h | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c index a0a69b98a7..6412cf222e 100644 --- a/hw/intc/pnv_xive.c +++ b/hw/intc/pnv_xive.c @@ -1816,10 +1816,17 @@ static void pnv_xive_init(Object *obj) static void pnv_xive_realize(DeviceState *dev, Error **errp) { PnvXive *xive =3D PNV_XIVE(dev); + PnvXiveClass *pxc =3D PNV_XIVE_GET_CLASS(dev); XiveSource *xsrc =3D &xive->ipi_source; XiveENDSource *end_xsrc =3D &xive->end_source; Error *local_err =3D NULL; =20 + pxc->parent_realize(dev, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + assert(xive->chip); =20 /* @@ -1947,10 +1954,12 @@ static void pnv_xive_class_init(ObjectClass *klass,= void *data) XiveRouterClass *xrc =3D XIVE_ROUTER_CLASS(klass); XiveNotifierClass *xnc =3D XIVE_NOTIFIER_CLASS(klass); XivePresenterClass *xpc =3D XIVE_PRESENTER_CLASS(klass); + PnvXiveClass *pxc =3D PNV_XIVE_CLASS(klass); =20 xdc->dt_xscom =3D pnv_xive_dt_xscom; =20 dc->desc =3D "PowerNV XIVE Interrupt Controller"; + device_class_set_parent_realize(dc, pnv_xive_realize, &pxc->parent_rea= lize); dc->realize =3D pnv_xive_realize; dc->props =3D pnv_xive_properties; =20 @@ -1971,6 +1980,7 @@ static const TypeInfo pnv_xive_info =3D { .instance_init =3D pnv_xive_init, .instance_size =3D sizeof(PnvXive), .class_init =3D pnv_xive_class_init, + .class_size =3D sizeof(PnvXiveClass), .interfaces =3D (InterfaceInfo[]) { { TYPE_PNV_XSCOM_INTERFACE }, { } diff --git a/include/hw/ppc/pnv_xive.h b/include/hw/ppc/pnv_xive.h index f4c7caad40..76cf16f644 100644 --- a/include/hw/ppc/pnv_xive.h +++ b/include/hw/ppc/pnv_xive.h @@ -16,6 +16,10 @@ struct PnvChip; =20 #define TYPE_PNV_XIVE "pnv-xive" #define PNV_XIVE(obj) OBJECT_CHECK(PnvXive, (obj), TYPE_PNV_XIVE) +#define PNV_XIVE_CLASS(klass) \ + OBJECT_CLASS_CHECK(PnvXiveClass, (klass), TYPE_PNV_XIVE) +#define PNV_XIVE_GET_CLASS(obj) \ + OBJECT_GET_CLASS(PnvXiveClass, (obj), TYPE_PNV_XIVE) =20 #define XIVE_BLOCK_MAX 16 =20 @@ -85,6 +89,12 @@ typedef struct PnvXive { uint64_t edt[XIVE_TABLE_EDT_MAX]; } PnvXive; =20 +typedef struct PnvXiveClass { + XiveRouterClass parent_class; + + DeviceRealize parent_realize; +} PnvXiveClass; + void pnv_xive_pic_print_info(PnvXive *xive, Monitor *mon); =20 #endif /* PPC_PNV_XIVE_H */ --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462176; cv=none; d=zohomail.com; s=zohoarc; b=hARaUft3gREcezDycd9xAd1MCCfM1cC1tZYBGmuIGUaMl3rVbczixw4xjTKXqhco89Edm2SqcBZVU2IADebMwv2MO3HdmHzfvIZJzUhzcJLEx6kknA5qH4jOVkYjKz1UFfQQ7XCdZGQO+BLJkrap3C8pgQ7rdETMlo2M9EiP7GY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462176; h=Content-Type: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=FL0uDBGS1yFgd0fxr+cPlaV9ZEv4fg5aQAtwAANlTMg=; b=lol0VFIBUZKacKoG0iQs+FcbVWplo64cjip6O+veU65ADxBOATTJqq4nHC3tTWcxAXd3ZE3dMinb56dfwnzzlKXOMvrxy3lFi32B1FxojsO94rqUHDukZGZq4FlAgEuxNSVTzVZGAu4WSqTjkL2L7CxDThglKCGs50wcdXrnpLs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462176827834.063357350566; Tue, 7 Jan 2020 21:42:56 -0800 (PST) Received: from localhost ([::1]:37246 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip47L-0005Mu-1I for importer@patchew.org; Wed, 08 Jan 2020 00:42:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47734) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3of-0003ye-5C for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3od-0002pW-76 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:38725 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oc-0002mB-Se; Wed, 08 Jan 2020 00:23:35 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF1Qh3z9sSd; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=FrX/6SyVjPjJTIn/b/hGmvNuofHIxtxtXwHx5jlXHBI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q9vHQx7e21sz1qxE9XUEZ1cbI9o80guAd+SuT1UIyrS3xBvy4IS/hcEvup2t1XZzR EY7cJwuKyfCxEeuHUE8Vcv1PUnnQndBuXPcTmd3BlGRMK4zlJ8/oLWshxlEP2J6+Cm njSxQDLs3zl6kAC0RwLohIHr4gN/zijgD0IhkFT0= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 16/26] spapr, pnv, xive: Add a "xive-fabric" link to the XIVE router Date: Wed, 8 Jan 2020 16:23:02 +1100 Message-Id: <20200108052312.238710-17-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz In order to get rid of qdev_get_machine(), first add a pointer to the XIVE fabric under the XIVE router and make it configurable through a QOM link property. Configure it in the spapr and pnv machine. In the case of pnv, the XIVE routers are under the chip, so this is done with a QOM alias property of the POWER9 pnv chip. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-5-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/xive.c | 8 ++++++++ hw/ppc/pnv.c | 6 ++++++ hw/ppc/spapr_irq.c | 2 ++ include/hw/ppc/xive.h | 5 +++-- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/hw/intc/xive.c b/hw/intc/xive.c index d4c6e21703..6df89b06da 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -1714,12 +1714,19 @@ void xive_router_notify(XiveNotifier *xn, uint32_t = lisn) xive_get_field64(EAS_END_DATA, eas.w)); } =20 +static Property xive_router_properties[] =3D { + DEFINE_PROP_LINK("xive-fabric", XiveRouter, xfb, + TYPE_XIVE_FABRIC, XiveFabric *), + DEFINE_PROP_END_OF_LIST(), +}; + static void xive_router_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); XiveNotifierClass *xnc =3D XIVE_NOTIFIER_CLASS(klass); =20 dc->desc =3D "XIVE Router Engine"; + dc->props =3D xive_router_properties; xnc->notify =3D xive_router_notify; } =20 @@ -1727,6 +1734,7 @@ static const TypeInfo xive_router_info =3D { .name =3D TYPE_XIVE_ROUTER, .parent =3D TYPE_SYS_BUS_DEVICE, .abstract =3D true, + .instance_size =3D sizeof(XiveRouter), .class_size =3D sizeof(XiveRouterClass), .class_init =3D xive_router_class_init, .interfaces =3D (InterfaceInfo[]) { diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 65cba84335..ead92d52b2 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -809,6 +809,10 @@ static void pnv_init(MachineState *machine) if (object_dynamic_cast(OBJECT(pnv), TYPE_XICS_FABRIC)) { object_property_set_link(chip, OBJECT(pnv), "xics", &error_abo= rt); } + if (object_dynamic_cast(OBJECT(pnv), TYPE_XIVE_FABRIC)) { + object_property_set_link(chip, OBJECT(pnv), "xive-fabric", + &error_abort); + } object_property_set_bool(chip, true, "realized", &error_fatal); } g_free(chip_typename); @@ -1227,6 +1231,8 @@ static void pnv_chip_power9_instance_init(Object *obj) =20 object_initialize_child(obj, "xive", &chip9->xive, sizeof(chip9->xive), TYPE_PNV_XIVE, &error_abort, NULL); + object_property_add_alias(obj, "xive-fabric", OBJECT(&chip9->xive), + "xive-fabric", &error_abort); =20 object_initialize_child(obj, "psi", &chip9->psi, sizeof(chip9->psi), TYPE_PNV9_PSI, &error_abort, NULL); diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 373505d28b..1f630f296b 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -332,6 +332,8 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) * priority */ qdev_prop_set_uint32(dev, "nr-ends", nr_servers << 3); + object_property_set_link(OBJECT(dev), OBJECT(spapr), "xive-fabric", + &error_abort); qdev_init_nofail(dev); =20 spapr->xive =3D SPAPR_XIVE(dev); diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 1b7b89098f..1ded82b1cd 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -324,9 +324,12 @@ typedef struct XiveTCTX { /* * XIVE Router */ +typedef struct XiveFabric XiveFabric; =20 typedef struct XiveRouter { SysBusDevice parent; + + XiveFabric *xfb; } XiveRouter; =20 #define TYPE_XIVE_ROUTER "xive-router" @@ -402,8 +405,6 @@ int xive_presenter_tctx_match(XivePresenter *xptr, Xive= TCTX *tctx, * XIVE Fabric (Interface between Interrupt Controller and Machine) */ =20 -typedef struct XiveFabric XiveFabric; - #define TYPE_XIVE_FABRIC "xive-fabric" #define XIVE_FABRIC(obj) \ INTERFACE_CHECK(XiveFabric, (obj), TYPE_XIVE_FABRIC) --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461980; cv=none; d=zohomail.com; s=zohoarc; b=WRmi96fD1clOv1cb1GZO4WujsW+HLZqHmftpKm6MHp2A347CsjCbgbNDxfRr3sSth/t8RTtJNXfbJpFPw9VbCLm4kuBUls+C0mSdRYrMQzI746MMozWmGXtfkJqQN6NSyzig75VVKThSoggPw67CurLMg+vwJxUh7cU99wvr31E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461980; h=Content-Type: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=16kAZv3cGgwkvDT1jb8B1UfEwBJasZiA5kS+8JJewuc=; b=I5lcf35ns4Tupa6jzHjvo6VKA1tqSwELFN4DG6U7qhpaPIid0MKsc1XNXDmfe0S5/3HgIEzfC6TS3UE0t6Z9qg22aNVB/5siUo/CeZHshgPaQYK4yTO1FJR2mPx6LBkof+vLWBHpea/bDKrMTsJFBGBdDbxMSHXrQ6fo7DOql34= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461980039228.49520388607164; Tue, 7 Jan 2020 21:39:40 -0800 (PST) Received: from localhost ([::1]:37188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip44A-0001AU-HT for importer@patchew.org; Wed, 08 Jan 2020 00:39:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47623) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3od-0003uL-6X for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ob-0002mm-HZ for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:54195 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ob-0002ie-5D; Wed, 08 Jan 2020 00:23:33 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF0FHQz9sSW; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=mK5XU6p4s13EQ4Nm/HoejNWenGuyaWWXGFTWV8utYq4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nm/hFH6+lfue7R7etk4T7hSdLuF1DpQVP2RhZ8D4h2CGPBelubEaZjmWjEBoIPfbX Y1GyWl221ZYYL/2lxIxKS6os5746P2HbrR8TGuAvcYp5y8v4GxjwIAODHfyLvksYVI 92vAXsOvMQJQWKzbop/xccqiZ2hfe4K4BmQOYA2E= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 17/26] xive: Use the XIVE fabric link under the XIVE router Date: Wed, 8 Jan 2020 16:23:03 +1100 Message-Id: <20200108052312.238710-18-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz Now that the spapr and pnv machines do set the "xive-fabric" link, the use of the XIVE fabric pointer becomes mandatory. This is checked with an assert() in a new realize hook. Since the XIVE router is realized at machine init for the all the machine's life time, no risk to abort an already running guest (ie. not a hotplug path). This gets rid of a qdev_get_machine() call. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-6-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/xive.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hw/intc/xive.c b/hw/intc/xive.c index 6df89b06da..12a362b681 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -1378,6 +1378,13 @@ static int xive_router_get_block_id(XiveRouter *xrtr) return xrc->get_block_id(xrtr); } =20 +static void xive_router_realize(DeviceState *dev, Error **errp) +{ + XiveRouter *xrtr =3D XIVE_ROUTER(dev); + + assert(xrtr->xfb); +} + /* * Encode the HW CAM line in the block group mode format : * @@ -1470,12 +1477,11 @@ int xive_presenter_tctx_match(XivePresenter *xptr, = XiveTCTX *tctx, * * The parameters represent what is sent on the PowerBus */ -static bool xive_presenter_notify(uint8_t format, +static bool xive_presenter_notify(XiveFabric *xfb, uint8_t format, uint8_t nvt_blk, uint32_t nvt_idx, bool cam_ignore, uint8_t priority, uint32_t logic_serv) { - XiveFabric *xfb =3D XIVE_FABRIC(qdev_get_machine()); XiveFabricClass *xfc =3D XIVE_FABRIC_GET_CLASS(xfb); XiveTCTXMatch match =3D { .tctx =3D NULL, .ring =3D 0 }; int count; @@ -1607,7 +1613,7 @@ static void xive_router_end_notify(XiveRouter *xrtr, = uint8_t end_blk, return; } =20 - found =3D xive_presenter_notify(format, nvt_blk, nvt_idx, + found =3D xive_presenter_notify(xrtr->xfb, format, nvt_blk, nvt_idx, xive_get_field32(END_W7_F0_IGNORE, end.w7), priority, xive_get_field32(END_W7_F1_LOG_SERVER_ID, end.w7= )); @@ -1727,6 +1733,8 @@ static void xive_router_class_init(ObjectClass *klass= , void *data) =20 dc->desc =3D "XIVE Router Engine"; dc->props =3D xive_router_properties; + /* Parent is SysBusDeviceClass. No need to call its realize hook */ + dc->realize =3D xive_router_realize; xnc->notify =3D xive_router_notify; } =20 --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461271; cv=none; d=zohomail.com; s=zohoarc; b=XjgGuB6jNsBzfxxO0lDZF85anDO8PnASZ28lu7ESjXwcxgOvSPPwGbgh4Y06ibzKrapVbT9d9Y29MnY5j5O6u33+rAYwFoWZCdt0w/ku6qxMzyaFljin8SkDoiqoltQ1D/WvJ9YwO+BzGqndZQ2XhJ0d1HpE09/WDL1p6BtEwV8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461271; h=Content-Type: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=zDO/ImjUV+NJu3FN1URWB+1S84Bt4wLFDlhFpJeio80=; b=mgjXVXEqLfkBDHhtSaW6fvoRZ8BgOrbTkjch1+QvNhRDiTVyMC4ruP0qOrn/4QvvMUOa5dIYtFgylTL3ut1FLhESTMzLByfZmaPYvQ5nG3d0qXZalez26DNALdLQXB0xhK1JAstBMYGyuz2PyPpbGNiI/7LneLpZIf+8eziVb7M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461271693961.3842274396594; Tue, 7 Jan 2020 21:27:51 -0800 (PST) Received: from localhost ([::1]:37024 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3sk-0001ZI-0u for importer@patchew.org; Wed, 08 Jan 2020 00:27:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47450) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oa-0003r3-8m for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oY-0002gx-QE for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:32 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:56133 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oY-0002de-Ez; Wed, 08 Jan 2020 00:23:30 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMC1LTHz9sST; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460999; bh=xuXCUv7AbtgO81cRSWzQUqJbuB77DWavVOto6WrS4/U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=npF+cXpbIbKNA8MYsN+2VjGfTfBrrPfWIwpum8DVkMiSVAn8FwLAD8ri63kiYB1Oy dFLxwgisNzTyctVh4sc/SORXPRx+n3Apzn0evJMQR1IBXbITaEDPzaYaHvsRuJkcAi QCci/T0J2Aqv3XAOj2NXs5+qnl5ArIreSqCx/f0Q= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 18/26] ppc/pnv: Add an "nr-threads" property to the base chip class Date: Wed, 8 Jan 2020 16:23:04 +1100 Message-Id: <20200108052312.238710-19-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz Set it at chip creation and forward it to the cores. This allows to drop a call to qdev_get_machine(). Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: David Gibson Message-Id: <20200106145645.4539-7-clg@kaod.org> Signed-off-by: David Gibson --- hw/ppc/pnv.c | 8 +++++--- include/hw/ppc/pnv.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index ead92d52b2..6a0aa78d53 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -802,6 +802,8 @@ static void pnv_init(MachineState *machine) &error_fatal); object_property_set_int(chip, machine->smp.cores, "nr-cores", &error_fatal); + object_property_set_int(chip, machine->smp.threads, + "nr-threads", &error_fatal); /* * The POWER8 machine use the XICS interrupt interface. * Propagate the XICS fabric to the chip and its controllers. @@ -1526,7 +1528,6 @@ static void pnv_chip_core_sanitize(PnvChip *chip, Err= or **errp) =20 static void pnv_chip_core_realize(PnvChip *chip, Error **errp) { - MachineState *ms =3D MACHINE(qdev_get_machine()); Error *error =3D NULL; PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(chip); const char *typename =3D pnv_chip_core_typename(chip); @@ -1562,8 +1563,8 @@ static void pnv_chip_core_realize(PnvChip *chip, Erro= r **errp) object_property_add_child(OBJECT(chip), core_name, OBJECT(pnv_core= ), &error_abort); chip->cores[i] =3D pnv_core; - object_property_set_int(OBJECT(pnv_core), ms->smp.threads, "nr-thr= eads", - &error_fatal); + object_property_set_int(OBJECT(pnv_core), chip->nr_threads, + "nr-threads", &error_fatal); object_property_set_int(OBJECT(pnv_core), core_hwid, CPU_CORE_PROP_CORE_ID, &error_fatal); object_property_set_int(OBJECT(pnv_core), @@ -1602,6 +1603,7 @@ static Property pnv_chip_properties[] =3D { DEFINE_PROP_UINT64("ram-size", PnvChip, ram_size, 0), DEFINE_PROP_UINT32("nr-cores", PnvChip, nr_cores, 1), DEFINE_PROP_UINT64("cores-mask", PnvChip, cores_mask, 0x0), + DEFINE_PROP_UINT32("nr-threads", PnvChip, nr_threads, 1), DEFINE_PROP_END_OF_LIST(), }; =20 diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index 56277862dd..4b9012f994 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -48,6 +48,7 @@ typedef struct PnvChip { uint64_t ram_size; =20 uint32_t nr_cores; + uint32_t nr_threads; uint64_t cores_mask; PnvCore **cores; =20 --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462076; cv=none; d=zohomail.com; s=zohoarc; b=b6+sVc9Cd4F9iNnFqk9cv85trZvFzp/gJWg5fYn8dzvTwc+or+Di1ZxJYRHW4CHCIIRxnoc31Q6c7x/fX3dazTPk73mt5nfQkiVcRP+8hvMYc90BCIEhpc7y0eHn3ObwaNQ0r5hcuMgL7b9pb0RWtfmOgV/n0ZcxfjzTLCHVCNc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462076; h=Content-Type: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=LoqoKEoxiQ7vBKG8JLTfDgyBYnXghD8cKEK1NxZYXpY=; b=EDRlbaaNZwP47XcAjT2Xq5cUmMiRYgdn8V1qsXM1U+Kd4nsDvpIJ2RLvaKIGTAMETV5P2rwA4CXxJhbm7hTaVR4K0tVqhJo4rQ874WGLrKSNVaf4B7pq+19DXxqAu/c9OHRIqhwslSNHtLMY9lFVbEy0qeXsunRyGYK7kyvxgEU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462076085279.90205815998365; Tue, 7 Jan 2020 21:41:16 -0800 (PST) Received: from localhost ([::1]:37222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip45i-000398-Qx for importer@patchew.org; Wed, 08 Jan 2020 00:41:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47615) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oc-0003u4-Ta for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ob-0002m1-6l for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:43869 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oa-0002iI-R2; Wed, 08 Jan 2020 00:23:33 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMD2K1qz9sSm; Wed, 8 Jan 2020 16:23:18 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461000; bh=s3S48w7lUh4NbJMRnR1fcE0FvP/vfvziUb8fZ1unML4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ENN/RqJIPyJsld6aZT3kisJP8q189gGt7ZMmJbfYpy6tT4DWPxgOAotdkvWxNPq/w TuqYLcGJSWudmDQ0Ve8F+oOItx7MACLaaIl8TI4mWBXPxAnb4ado6TYjFqqIy6RXm7 WBd0g9koB+6dFTaLmsJdSvVTPfHvk/Hl8a9rYlus= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 19/26] ppc/pnv: Add a "pnor" const link property to the BMC internal simulator Date: Wed, 8 Jan 2020 16:23:05 +1100 Message-Id: <20200108052312.238710-20-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz This allows to get rid of a call to qdev_get_machine(). Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-8-clg@kaod.org> Signed-off-by: David Gibson --- hw/ppc/pnv.c | 2 +- hw/ppc/pnv_bmc.c | 8 +++++--- include/hw/ppc/pnv.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 6a0aa78d53..f0b8f3ad26 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -820,7 +820,7 @@ static void pnv_init(MachineState *machine) g_free(chip_typename); =20 /* Create the machine BMC simulator */ - pnv->bmc =3D pnv_bmc_create(); + pnv->bmc =3D pnv_bmc_create(pnv->pnor); =20 /* Instantiate ISA bus on chip 0 */ pnv->isa_bus =3D pnv_isa_create(pnv->chips[0], &error_fatal); diff --git a/hw/ppc/pnv_bmc.c b/hw/ppc/pnv_bmc.c index 07fa1e1c7e..8863354c1c 100644 --- a/hw/ppc/pnv_bmc.c +++ b/hw/ppc/pnv_bmc.c @@ -143,8 +143,8 @@ static uint16_t bytes_to_blocks(uint32_t bytes) static void hiomap_cmd(IPMIBmcSim *ibs, uint8_t *cmd, unsigned int cmd_len, RspBuffer *rsp) { - PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); - PnvPnor *pnor =3D pnv->pnor; + PnvPnor *pnor =3D PNV_PNOR(object_property_get_link(OBJECT(ibs), "pnor= ", + &error_abort)); uint32_t pnor_size =3D pnor->size; uint32_t pnor_addr =3D PNOR_SPI_OFFSET; bool readonly =3D false; @@ -217,11 +217,13 @@ static const IPMINetfn hiomap_netfn =3D { * Instantiate the machine BMC. PowerNV uses the QEMU internal * simulator but it could also be external. */ -IPMIBmc *pnv_bmc_create(void) +IPMIBmc *pnv_bmc_create(PnvPnor *pnor) { Object *obj; =20 obj =3D object_new(TYPE_IPMI_BMC_SIMULATOR); + object_ref(OBJECT(pnor)); + object_property_add_const_link(obj, "pnor", OBJECT(pnor), &error_abort= ); object_property_set_bool(obj, true, "realized", &error_fatal); =20 /* Install the HIOMAP protocol handlers to access the PNOR */ diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index 4b9012f994..2504d8cd4f 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -229,7 +229,7 @@ PnvChip *pnv_get_chip(uint32_t chip_id); */ void pnv_dt_bmc_sensors(IPMIBmc *bmc, void *fdt); void pnv_bmc_powerdown(IPMIBmc *bmc); -IPMIBmc *pnv_bmc_create(void); +IPMIBmc *pnv_bmc_create(PnvPnor *pnor); =20 /* * POWER8 MMIO base addresses --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461834; cv=none; d=zohomail.com; s=zohoarc; b=LkhfXe8ejufw3JK+XEEpgIp5YN3F1GRou49Zb+0Oyf+EYpY8x74N4aXakhyy1PBfNT7XHkzEt9kvpphDXxA5Ko58OXqzmz5sNbiqO0F2Jx+BrXeAVl5BTzmwz0ODLoPPMeBx6nkurODm6qIXBb7eZ2aiqWhFMmlbgDnwekhv8Gc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461834; h=Content-Type: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=pame4HOqJ+V4PI07KSxCTU0I0+Hv38bxs1svAELMY24=; b=jJ42mGXkYxkB9wC8dTRVKTKcKbqr8RLlVwst6cZkMvNBYTxB++nb/yx4sFiK/2uJi63MMNesLSDgGRxKL0Wagf61vq6Q5zqdF4C0fXtSEAsm2FxVg+c5BK/lwAnjzv2dsjIk6l1fvkB2RczazvOiUN25REixqCnSKMUAA8pADzQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461834907796.2603193855695; Tue, 7 Jan 2020 21:37:14 -0800 (PST) Received: from localhost ([::1]:37150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip41p-0005dK-90 for importer@patchew.org; Wed, 08 Jan 2020 00:37:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48029) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3ow-0004Q3-Qj for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ov-0003HE-Fu for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:54 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:35301 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ov-0002iS-4I; Wed, 08 Jan 2020 00:23:53 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMD4hKfz9sSj; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461000; bh=tuKlphejUmyjcFGyLZpn0cp3VEzjtRJnKXWMwh6ccwU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=m0D2XHtCQFePWJQ8wOTYznZnep+NB9upD3GIld/HU7Je7hn150MOQBQMkzttBFb9O 2LW5O976c4A5H/1IOKzhlcxkBmTpUOPqiLxnMyKtV5wOh9D3+p0uuzpaiNob6kISov 93wmwBQuwLn/ZTWruGn1Cmsj3n1zlQZu7zil02Qk= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 20/26] xive: Add a "presenter" link property to the TCTX object Date: Wed, 8 Jan 2020 16:23:06 +1100 Message-Id: <20200108052312.238710-21-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater This will be used in subsequent patches to access the XIVE associated to a TCTX without reaching out to the machine through qdev_get_machine(). Signed-off-by: C=C3=A9dric Le Goater [ groug: - split patch - write subject and changelog ] Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-9-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/spapr_xive.c | 2 +- hw/intc/xive.c | 6 +++++- hw/ppc/pnv.c | 3 ++- include/hw/ppc/xive.h | 8 +++++--- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 32322470a8..7663123878 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -601,7 +601,7 @@ static int spapr_xive_cpu_intc_create(SpaprInterruptCon= troller *intc, Object *obj; SpaprCpuState *spapr_cpu =3D spapr_cpu_state(cpu); =20 - obj =3D xive_tctx_create(OBJECT(cpu), XIVE_ROUTER(xive), errp); + obj =3D xive_tctx_create(OBJECT(cpu), XIVE_PRESENTER(xive), errp); if (!obj) { return -1; } diff --git a/hw/intc/xive.c b/hw/intc/xive.c index 12a362b681..bc8019c4c9 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -654,6 +654,7 @@ static void xive_tctx_realize(DeviceState *dev, Error *= *errp) Error *local_err =3D NULL; =20 assert(tctx->cs); + assert(tctx->xptr); =20 cpu =3D POWERPC_CPU(tctx->cs); env =3D &cpu->env; @@ -727,6 +728,8 @@ static const VMStateDescription vmstate_xive_tctx =3D { =20 static Property xive_tctx_properties[] =3D { DEFINE_PROP_LINK("cpu", XiveTCTX, cs, TYPE_CPU, CPUState *), + DEFINE_PROP_LINK("presenter", XiveTCTX, xptr, TYPE_XIVE_PRESENTER, + XivePresenter *), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -752,7 +755,7 @@ static const TypeInfo xive_tctx_info =3D { .class_init =3D xive_tctx_class_init, }; =20 -Object *xive_tctx_create(Object *cpu, XiveRouter *xrtr, Error **errp) +Object *xive_tctx_create(Object *cpu, XivePresenter *xptr, Error **errp) { Error *local_err =3D NULL; Object *obj; @@ -761,6 +764,7 @@ Object *xive_tctx_create(Object *cpu, XiveRouter *xrtr,= Error **errp) object_property_add_child(cpu, TYPE_XIVE_TCTX, obj, &error_abort); object_unref(obj); object_property_set_link(obj, cpu, "cpu", &error_abort); + object_property_set_link(obj, OBJECT(xptr), "presenter", &error_abort); object_property_set_bool(obj, true, "realized", &local_err); if (local_err) { goto error; diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index f0b8f3ad26..19fc5d4ddb 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -925,7 +925,8 @@ static void pnv_chip_power9_intc_create(PnvChip *chip, = PowerPCCPU *cpu, * controller object is initialized afterwards. Hopefully, it's * only used at runtime. */ - obj =3D xive_tctx_create(OBJECT(cpu), XIVE_ROUTER(&chip9->xive), &loca= l_err); + obj =3D xive_tctx_create(OBJECT(cpu), XIVE_PRESENTER(&chip9->xive), + &local_err); if (local_err) { error_propagate(errp, local_err); return; diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 1ded82b1cd..705cf48176 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -311,6 +311,8 @@ void xive_source_set_irq(void *opaque, int srcno, int v= al); #define XIVE_TM_RING_COUNT 4 #define XIVE_TM_RING_SIZE 0x10 =20 +typedef struct XivePresenter XivePresenter; + typedef struct XiveTCTX { DeviceState parent_obj; =20 @@ -319,6 +321,8 @@ typedef struct XiveTCTX { qemu_irq os_output; =20 uint8_t regs[XIVE_TM_RING_COUNT * XIVE_TM_RING_SIZE]; + + XivePresenter *xptr; } XiveTCTX; =20 /* @@ -378,8 +382,6 @@ typedef struct XiveTCTXMatch { uint8_t ring; } XiveTCTXMatch; =20 -typedef struct XivePresenter XivePresenter; - #define TYPE_XIVE_PRESENTER "xive-presenter" #define XIVE_PRESENTER(obj) \ INTERFACE_CHECK(XivePresenter, (obj), TYPE_XIVE_PRESENTER) @@ -467,7 +469,7 @@ uint64_t xive_tctx_tm_read(XivePresenter *xptr, XiveTCT= X *tctx, hwaddr offset, unsigned size); =20 void xive_tctx_pic_print_info(XiveTCTX *tctx, Monitor *mon); -Object *xive_tctx_create(Object *cpu, XiveRouter *xrtr, Error **errp); +Object *xive_tctx_create(Object *cpu, XivePresenter *xptr, Error **errp); void xive_tctx_reset(XiveTCTX *tctx); void xive_tctx_destroy(XiveTCTX *tctx); void xive_tctx_ipb_update(XiveTCTX *tctx, uint8_t ring, uint8_t ipb); --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461835; cv=none; d=zohomail.com; s=zohoarc; b=TFVjvYuNABN1+YSWOsatBsKVIN1biOv5gE/QCorFI3LBeFAsOw+V79CXLPU+inTP6sQpFoc60JdAOSd3hXZVcziNQCaeDSqzedQEVSLX9jMdwN9oAwW6DsabjQ8OAyw4hd206b0dMZgoG0o5ZHP+p7wFzD6Lz/a5EhUwnOGu2Rg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461835; h=Content-Type: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=WehHfjcQLq9TQC0Hb9Z3FJC/J8BKQwYwJ4Gf+p5j8b4=; b=IfRmHalz6lqhzD7ifyuotY0W94Eqj5kKdP2cxWFva3yNzPw/0okSrXa7xjq9pfnQb/CNjPbZ5/7+pFcSqJTk0YadYiJP4ojCf67g8IigM1sllSSbBHGYMppqM4nL7ytzzBMban+QE/BADTcMNwLupJj+l1dr4hs3/bWtSs4Q5os= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461835226392.366312681056; Tue, 7 Jan 2020 21:37:15 -0800 (PST) Received: from localhost ([::1]:37148 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip41p-0005bS-JU for importer@patchew.org; Wed, 08 Jan 2020 00:37:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47629) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3od-0003uX-6q for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ob-0002mV-FX for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([203.11.71.1]:40825 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ob-0002iM-30; Wed, 08 Jan 2020 00:23:33 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMD0xJsz9sSn; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461000; bh=AnbkEiT1BQ6rz3nLFKt2A8qOIR88lQ+k+2ql0A6KFek=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CBGFrrXqipAb/TaS8qa28ZjxMgZcJ2YItdCVySISliQ+FmdkO0aQkTpInt89baxVh fYRdn6UgPebNZcap8S7XumedE9m1cjYKj1z0mO0abNsRsqni9qpCoMyipd37qbDzhe Ne0j9VLqsNASSs7pxg58CQdGq2ndAldmFpEkUdI4= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 21/26] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr Date: Wed, 8 Jan 2020 16:23:07 +1100 Message-Id: <20200108052312.238710-22-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 203.11.71.1 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz And use it instead of reaching out to the machine. This allows to get rid of a call to qdev_get_machine() and to reduce the scope of another one so that it is only used within the argument list of error_append_hint(). This is an acceptable tradeoff compared to all it would require to know about the maximum number of CPUs here without calling qdev_get_machine(). Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-10-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/spapr_xive_kvm.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c index 32b2809210..edb7ee0e74 100644 --- a/hw/intc/spapr_xive_kvm.c +++ b/hw/intc/spapr_xive_kvm.c @@ -75,7 +75,7 @@ static void kvm_cpu_disable_all(void) =20 void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp) { - SpaprXive *xive =3D SPAPR_MACHINE(qdev_get_machine())->xive; + SpaprXive *xive =3D SPAPR_XIVE(tctx->xptr); uint64_t state[2]; int ret; =20 @@ -97,7 +97,7 @@ void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **er= rp) =20 void kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp) { - SpaprXive *xive =3D SPAPR_MACHINE(qdev_get_machine())->xive; + SpaprXive *xive =3D SPAPR_XIVE(tctx->xptr); uint64_t state[2] =3D { 0 }; int ret; =20 @@ -152,8 +152,7 @@ void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, = Error **errp) =20 void kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp) { - MachineState *ms =3D MACHINE(qdev_get_machine()); - SpaprXive *xive =3D SPAPR_MACHINE(ms)->xive; + SpaprXive *xive =3D SPAPR_XIVE(tctx->xptr); unsigned long vcpu_id; int ret; =20 @@ -179,7 +178,7 @@ void kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **er= rp) vcpu_id, strerror(errno)); if (errno =3D=3D ENOSPC) { error_append_hint(&local_err, "Try -smp maxcpus=3DN with N < %= u\n", - ms->smp.max_cpus); + MACHINE(qdev_get_machine())->smp.max_cpus); } error_propagate(errp, local_err); return; --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461319; cv=none; d=zohomail.com; s=zohoarc; b=aUBKJSzy8mhWZx0BCDiro3HUns8/D1ekQeLKNgeLhdQ58hqtOn7Y0b1AK12VwWh2/9APpo84ypk2WuTsoQksnqA6BtDLyR65V/N6MscbplmPNyZl0WdfakJ7T7dWPZ/85hQN+twfXVbOvj2KAkPbxdFjK2A3Vxkt9SmONZPy9Do= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461319; h=Content-Type: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=tvidTj9+WEPzNkQv1EX3qN+GZ+AfRbpCehGsi8Cq4gw=; b=Lf2d7UTfuFaMabfsDV+ivC7dAYDEQkAt45rnD17nR3SuVJLeFzl4de1X5LrBO4idF52XsPuPgrp3TfBEW5dybCkMQ7RMCFyt6isYeHgqsy17wb8cczVgLZfIWoiSFzKXkZKJamlC7H4KnylrY0H5WANlhvySstqbsEKtBWcfYog= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461319421896.3031235500629; Tue, 7 Jan 2020 21:28:39 -0800 (PST) Received: from localhost ([::1]:37026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3tV-0002nk-Sm for importer@patchew.org; Wed, 08 Jan 2020 00:28:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47577) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oc-0003t5-CA for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3oa-0002lU-VY for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:34 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:37385 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3oa-0002ht-K4; Wed, 08 Jan 2020 00:23:32 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMC6WDfz9sSY; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578460999; bh=kGaZI5Lnwcj97tGSIjPD6mGjpb+lCMs2T2ZbPDSKe04=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bVsPWdopg+WJF2wYvKkxHm2aAg/D+w5phEjkJAM+/4UCZacOe8uIanPYICagBrBQQ Lrb6vUgH1aDevyX/kqqEKnlj7CwOe3HV3nZu/KsmkCSE8iThl80e3eAXD2XoLXaAIk tIIgweDaKUCqqvnHWL8So4SYpJfx7qNYOi6zgdJU= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 22/26] pnv/xive: Deduce the PnvXive pointer from XiveTCTX::xptr Date: Wed, 8 Jan 2020 16:23:08 +1100 Message-Id: <20200108052312.238710-23-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz And use it instead of reaching out to the machine. This allows to get rid of pnv_get_chip(). Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200106145645.4539-11-clg@kaod.org> Signed-off-by: David Gibson --- hw/intc/pnv_xive.c | 8 ++------ hw/ppc/pnv.c | 14 -------------- include/hw/ppc/pnv.h | 2 -- 3 files changed, 2 insertions(+), 22 deletions(-) diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c index 6412cf222e..715fca61ae 100644 --- a/hw/intc/pnv_xive.c +++ b/hw/intc/pnv_xive.c @@ -472,12 +472,8 @@ static uint8_t pnv_xive_get_block_id(XiveRouter *xrtr) static PnvXive *pnv_xive_tm_get_xive(PowerPCCPU *cpu) { int pir =3D ppc_cpu_pir(cpu); - PnvChip *chip; - PnvXive *xive; - - chip =3D pnv_get_chip(PNV9_PIR2CHIP(pir)); - assert(chip); - xive =3D &PNV9_CHIP(chip)->xive; + XivePresenter *xptr =3D XIVE_TCTX(pnv_cpu_state(cpu)->intc)->xptr; + PnvXive *xive =3D PNV_XIVE(xptr); =20 if (!pnv_xive_is_cpu_enabled(xive, cpu)) { xive_error(xive, "IC: CPU %x is not enabled", pir); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 19fc5d4ddb..e2735bb8dd 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1717,20 +1717,6 @@ static int pnv_match_nvt(XiveFabric *xfb, uint8_t fo= rmat, return total_count; } =20 -PnvChip *pnv_get_chip(uint32_t chip_id) -{ - PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); - int i; - - for (i =3D 0; i < pnv->num_chips; i++) { - PnvChip *chip =3D pnv->chips[i]; - if (chip->chip_id =3D=3D chip_id) { - return chip; - } - } - return NULL; -} - static void pnv_machine_power8_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index 2504d8cd4f..d65dd32036 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -219,8 +219,6 @@ struct PnvMachineState { PnvPnor *pnor; }; =20 -PnvChip *pnv_get_chip(uint32_t chip_id); - #define PNV_FDT_ADDR 0x01000000 #define PNV_TIMEBASE_FREQ 512000000ULL =20 --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578461873; cv=none; d=zohomail.com; s=zohoarc; b=WxMwAWnumX/YsDeTF9KRG2LwZDl1RLN8PZxFp1kVfVic7yWjZk6ek70j4b0LiWjPYOKm8p0YHSSKWt3QgKqiFE6Zm12Jf7VB+Xd5RNcFbD8Tw21VCTbMYKXg+zlWGKhYJwMQ40NUyHdLVPtnjcvYSgU8g9Qk1xWgZWinLpxNTfs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578461873; h=Content-Type: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=cnjNpTPKh7VF/fgJfIJgrctnlm+yyV4sXVkNIhaJ/QA=; b=Q0yx5iDCksfHeOtzFM/Ft5iD5m8AnGNT1l5Xs5ZpCRTx1qAQmPURdhDh2BSywwa0aHkkKQyj09xACV+UuFqMmvckeHlcDqbaIyPTSGR24AB6mV2ec8QX6MEqS60DHxHkKCGb+L2gpDY5Uujok9STGk7O5EgKTza8xb+7BSL/xTs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578461873828629.0383674693489; Tue, 7 Jan 2020 21:37:53 -0800 (PST) Received: from localhost ([::1]:37152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip42S-0006Lb-Cd for importer@patchew.org; Wed, 08 Jan 2020 00:37:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48076) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oy-0004T7-PG for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ox-0003L7-IM for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:56 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:51671 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ox-0002n2-7r; Wed, 08 Jan 2020 00:23:55 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF5TL7z9sSt; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=BYYjGY0hh7GQE6wOJ9JGviMu9wKU8eOeK3Ac1On8/p8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mzcEnazbFDPDlpB/sKIL+fgD6Q0oRs0e/7yW7SQbffzkWqts7WlPbqpnkPCEK7EzY pZZuQtP8MV7ZrnywauZyCgEy8VGOO+srx7tA6TVA8AwnjcAG4Q8L71m4LsVOfZjfkG mPUfPCm2waJnNaeTwn04SQr9UKdy4h67warhooNU= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 23/26] pnv/psi: Add device reset hook Date: Wed, 8 Jan 2020 16:23:09 +1100 Message-Id: <20200108052312.238710-24-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz And call it from a QEMU reset handler. This allows each PNV child class to override the reset hook if needed, eg. POWER8 doesn't but POWER9 does. The proper way to do that would be to use device_class_set_parent_reset(), but defining a Pnv8PsiClass and a Pnv9PsiClass types with a parent_reset pointer adds a fair amount of code. Calling pnv_psi_reset() explicitely is fine for now. A subsequent patch will consolidate the call to qemu_register_reset() in a single place. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <157841476035.66386.17838417527621752518.stgit@bahia.tlslab.ibm= .com> Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: David Gibson --- hw/ppc/pnv_psi.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 4da3d25686..846171914f 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -455,7 +455,7 @@ static const MemoryRegionOps pnv_psi_xscom_ops =3D { } }; =20 -static void pnv_psi_reset(void *dev) +static void pnv_psi_reset(DeviceState *dev) { PnvPsi *psi =3D PNV_PSI(dev); =20 @@ -464,6 +464,11 @@ static void pnv_psi_reset(void *dev) psi->regs[PSIHB_XSCOM_BAR] =3D psi->bar | PSIHB_BAR_EN; } =20 +static void pnv_psi_reset_handler(void *dev) +{ + device_reset(DEVICE(dev)); +} + static void pnv_psi_power8_instance_init(Object *obj) { Pnv8Psi *psi8 =3D PNV8_PSI(obj); @@ -526,7 +531,7 @@ static void pnv_psi_power8_realize(DeviceState *dev, Er= ror **errp) ((uint64_t) i << PSIHB_XIVR_SRC_SH); } =20 - qemu_register_reset(pnv_psi_reset, dev); + qemu_register_reset(pnv_psi_reset_handler, dev); } =20 static int pnv_psi_dt_xscom(PnvXScomInterface *dev, void *fdt, int xscom_o= ffset) @@ -809,7 +814,7 @@ static void pnv_psi_power9_irq_set(PnvPsi *psi, int irq= , bool state) qemu_set_irq(psi->qirqs[irq], state); } =20 -static void pnv_psi_power9_reset(void *dev) +static void pnv_psi_power9_reset(DeviceState *dev) { Pnv9Psi *psi =3D PNV9_PSI(dev); =20 @@ -863,7 +868,7 @@ static void pnv_psi_power9_realize(DeviceState *dev, Er= ror **errp) =20 pnv_psi_set_bar(psi, psi->bar | PSIHB_BAR_EN); =20 - qemu_register_reset(pnv_psi_power9_reset, dev); + qemu_register_reset(pnv_psi_reset_handler, dev); } =20 static void pnv_psi_power9_class_init(ObjectClass *klass, void *data) @@ -875,6 +880,7 @@ static void pnv_psi_power9_class_init(ObjectClass *klas= s, void *data) =20 dc->desc =3D "PowerNV PSI Controller POWER9"; dc->realize =3D pnv_psi_power9_realize; + dc->reset =3D pnv_psi_power9_reset; =20 ppc->xscom_pcba =3D PNV9_XSCOM_PSIHB_BASE; ppc->xscom_size =3D PNV9_XSCOM_PSIHB_SIZE; @@ -927,6 +933,7 @@ static void pnv_psi_class_init(ObjectClass *klass, void= *data) =20 dc->desc =3D "PowerNV PSI Controller"; dc->props =3D pnv_psi_properties; + dc->reset =3D pnv_psi_reset; } =20 static const TypeInfo pnv_psi_info =3D { --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462190; cv=none; d=zohomail.com; s=zohoarc; b=kDvyiljpOUNfdEZIk4X7jPyAiaPqTIpMZb406fVB+YAvEAsHGLpD6g+yBFyYMYFbEP6Qwh2qyZK37gETwU8kGU0w9c5eiL2tHsDE62qjWG9wt4zRAwjcoI7VGq5TjyPao3xnlF5J/5xX5SeWyQ+ThLVZ8ou0Mu2n4RlDx5rFeCQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462190; h=Content-Type: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=YwCXIVl27o0jfrc2Gk0IZknF56/Tv7RCZBegH+l0w2M=; b=iiLhRR99nbxJ5nh6n7ACtHzLCQWtETynu1MMh/BwhuvR8DtgVipb2NENuQ9KkGDm3unkOCw4QbjQG/0hpIFOgIymTQi9ayiarRr4xcQceOqr6S2nfjVi++3Z6cBR8tVR1p7pFn1HtR/MU/iHA3nrOSKI9ScHqtt2DzwFefTaxJA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462190425381.47191363452635; Tue, 7 Jan 2020 21:43:10 -0800 (PST) Received: from localhost ([::1]:37250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip47Z-0005pq-9S for importer@patchew.org; Wed, 08 Jan 2020 00:43:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48084) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oz-0004TX-22 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ox-0003Lg-SK for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:56 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:38425 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ox-0002nQ-Hq; Wed, 08 Jan 2020 00:23:55 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMG0RyWz9sSv; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461002; bh=sGi5Y8ljHCPGECepK1BCD4Nnhy2bRAmyrXp5RMVEkZU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k7QnnUkiMOY7LzuAzoyi7OrKfIsEhpq2yevBSO96laT4aHSlMVGe5Kxp19LqEXbLc ENHc03EucjIHRAMPt+q8QxnUN4R1Ij996Ov6JA6y8zcYIFicwrfOnW6RuE23JORQCt cf0q5jxNNFym6918ubf/6Lei6jfqDFvQpSi5+iHw= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 24/26] pnv/psi: Consolidate some duplicated code in pnv_psi_realize() Date: Wed, 8 Jan 2020 16:23:10 +1100 Message-Id: <20200108052312.238710-25-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Greg Kurz The proper way to do that would be to use device_class_set_parent_realize(), but defining a Pnv8PsiClass and a Pnv9PsiClass types with a parent_realize pointer adds a fair amount of code. Calling pnv_psi_realize() explicitely is fine for now. This should probably be achieved with a device realize hook in the PSI base class and device_class_set_parent_realize() in the children classes. Signed-off-by: Greg Kurz Signed-off-by: C=C3=A9dric Le Goater Message-Id: <157841476667.66386.13659183399113837990.stgit@bahia.tlslab.ibm= .com> Signed-off-by: David Gibson --- hw/ppc/pnv_psi.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 846171914f..1d8da31738 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -469,6 +469,16 @@ static void pnv_psi_reset_handler(void *dev) device_reset(DEVICE(dev)); } =20 +static void pnv_psi_realize(DeviceState *dev, Error **errp) +{ + PnvPsi *psi =3D PNV_PSI(dev); + + /* Default BAR for MMIO region */ + pnv_psi_set_bar(psi, psi->bar | PSIHB_BAR_EN); + + qemu_register_reset(pnv_psi_reset_handler, dev); +} + static void pnv_psi_power8_instance_init(Object *obj) { Pnv8Psi *psi8 =3D PNV8_PSI(obj); @@ -521,9 +531,6 @@ static void pnv_psi_power8_realize(DeviceState *dev, Er= ror **errp) memory_region_init_io(&psi->regs_mr, OBJECT(dev), &psi_mmio_ops, psi, "psihb", PNV_PSIHB_SIZE); =20 - /* Default BAR for MMIO region */ - pnv_psi_set_bar(psi, psi->bar | PSIHB_BAR_EN); - /* Default sources in XIVR */ for (i =3D 0; i < PSI_NUM_INTERRUPTS; i++) { uint8_t xivr =3D irq_to_xivr[i]; @@ -531,7 +538,7 @@ static void pnv_psi_power8_realize(DeviceState *dev, Er= ror **errp) ((uint64_t) i << PSIHB_XIVR_SRC_SH); } =20 - qemu_register_reset(pnv_psi_reset_handler, dev); + pnv_psi_realize(dev, errp); } =20 static int pnv_psi_dt_xscom(PnvXScomInterface *dev, void *fdt, int xscom_o= ffset) @@ -866,9 +873,7 @@ static void pnv_psi_power9_realize(DeviceState *dev, Er= ror **errp) memory_region_init_io(&psi->regs_mr, OBJECT(dev), &pnv_psi_p9_mmio_ops= , psi, "psihb", PNV9_PSIHB_SIZE); =20 - pnv_psi_set_bar(psi, psi->bar | PSIHB_BAR_EN); - - qemu_register_reset(pnv_psi_reset_handler, dev); + pnv_psi_realize(dev, errp); } =20 static void pnv_psi_power9_class_init(ObjectClass *klass, void *data) --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462084; cv=none; d=zohomail.com; s=zohoarc; b=IQO8YeKtoGKBalj9viXXd37g6P3Z32TjGQDU0mGyKYsuSYWZ4BNH5eojfXGuwYX2dBREycsuakqL/dn+Liawqf2B/BftPBFMQ9NjCVj18gMeR5ibEqgoA/5DaHsDtY6DXmAJ3q+u4CAljb1pGII+6gIdGLO6mb+kmGgPqFjj2ZU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462084; h=Content-Type: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=LR+98NtMCTuQn5PsRnKB58kdjEvKHtTbq4MzOc/DBbk=; b=MH12UH/Z6oiOWa3T7Ldczq4Dkntmo+sNkqTW5rFuzc6Nf1LXl62D7wdQnD/kUfN7DBcsefsAI3ZzrN7Jqw3tW2e7OdWmpn9XC/EyJaebC9HhJBou3IZEFZnOSWEaceB3RAdFjvKLG2DCzhvG2XzYeqrwIDPE15Kzzv/iFhqf2oo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462084379370.0971266262882; Tue, 7 Jan 2020 21:41:24 -0800 (PST) Received: from localhost ([::1]:37224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip45r-0003MD-By for importer@patchew.org; Wed, 08 Jan 2020 00:41:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47729) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3of-0003yW-0O for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3od-0002q0-Eq for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:36 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:48461 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3od-0002mg-2y; Wed, 08 Jan 2020 00:23:35 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF4GZ0z9sSV; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=aIwNYzOKPwG6QdHQ14D6UBG51U6gQFGHiVEGceGBmtg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lfaNp/pOOvIDo3vEx+UlhxRRX5IX4TaeVpExQzGwjVLshpSDGWEGn1BrKn01ABYVg YK2BFLZ38R/TsekrCrZ44HpExqLqtlgNGcQ3cNENJmfX7Sd3X5J5FbFnZWUPfl2LRu 8W8TGNN9wI2FtoZjGgLltMd3OAoLgMreN2KxPdkA= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 25/26] ppc/pnv: check return value of blk_pwrite() Date: Wed, 8 Jan 2020 16:23:11 +1100 Message-Id: <20200108052312.238710-26-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater When updating the PNOR file contents, we should check for a possible failure of blk_pwrite(). Fixes Coverity issue CID 1412228. Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200107171809.15556-2-clg@kaod.org> Reviewed-by: Greg Kurz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: David Gibson --- hw/ppc/pnv_pnor.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/ppc/pnv_pnor.c b/hw/ppc/pnv_pnor.c index bfb1e92b03..0e86ae2fea 100644 --- a/hw/ppc/pnv_pnor.c +++ b/hw/ppc/pnv_pnor.c @@ -33,6 +33,7 @@ static uint64_t pnv_pnor_read(void *opaque, hwaddr addr, = unsigned size) static void pnv_pnor_update(PnvPnor *s, int offset, int size) { int offset_end; + int ret; =20 if (s->blk) { return; @@ -42,8 +43,11 @@ static void pnv_pnor_update(PnvPnor *s, int offset, int = size) offset =3D QEMU_ALIGN_DOWN(offset, BDRV_SECTOR_SIZE); offset_end =3D QEMU_ALIGN_UP(offset_end, BDRV_SECTOR_SIZE); =20 - blk_pwrite(s->blk, offset, s->storage + offset, - offset_end - offset, 0); + ret =3D blk_pwrite(s->blk, offset, s->storage + offset, + offset_end - offset, 0); + if (ret < 0) { + error_report("Could not update PNOR: %s", strerror(-ret)); + } } =20 static void pnv_pnor_write(void *opaque, hwaddr addr, uint64_t data, --=20 2.24.1 From nobody Sun Apr 28 17:36:03 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1578462392; cv=none; d=zohomail.com; s=zohoarc; b=M4JpnfWFUFlECZpx0WOBaas3gBZDE0xCORw9ogwuFjW6BwJpFRNsuObPOuh4N1YvuQaZfSbGCyuh8D6Yl/buFCVHPR1CNR0BC0TifdnSJL5hCs3rASYlI3pmXCs3wsB2FoJ3NTMDhqE0pj26lAV9Upit/EtV7vuoA9RgYr8dcZU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578462392; h=Content-Type: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=xYfSzGrT6NU6WRrKa5wycuc5CLTucxyA90yN3HHi1PA=; b=BS/ZwVFaZf2m3s2JkcBbA/gPS9ibLZCh/eFGhlP93OxUubrj/Ua/Tfxhw06wcBpk8hv6suki0Je9BINgSX9gRDDICfxe1icriH7wmiWMsOvfAlo25Mj6b2sgn09dLRn2jf+8DLxDAstzr4wOeKPIT04aJsMT+SwEaG+ZFdVFsQA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578462392398802.0104769473916; Tue, 7 Jan 2020 21:46:32 -0800 (PST) Received: from localhost ([::1]:37324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip4Ap-0001TQ-CO for importer@patchew.org; Wed, 08 Jan 2020 00:46:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48080) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ip3oy-0004TF-Tg for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ip3ox-0003LQ-OO for qemu-devel@nongnu.org; Wed, 08 Jan 2020 00:23:56 -0500 Received: from bilbo.ozlabs.org ([2401:3900:2:1::2]:38011 helo=ozlabs.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ip3ox-0002nH-EA; Wed, 08 Jan 2020 00:23:55 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 47syMF6VPJz9sSr; Wed, 8 Jan 2020 16:23:19 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1578461001; bh=A1TA5QQb7lUI6lX7WsQKAnkEdsZ5l4cjVOZdeTBLm6s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hleCdbFo2OizXoXOPK9ZHnc1XEWSrXaAXDnCJDHkwkGPCU78q3Ps/7SYq83Z/gP2H RZ0p9R8f046MxNM+XxDqGtlfml5UkF9Vzd8OqCMzvv+Miay1/W9x/JqoalUs8I3HHu iHmjPvLIbSy3qCmuiEo+SRhx2kS8PPk3/zJKBs+I= From: David Gibson To: peter.maydell@linaro.org Subject: [PULL 26/26] ppc/pnv: fix check on return value of blk_getlength() Date: Wed, 8 Jan 2020 16:23:12 +1100 Message-Id: <20200108052312.238710-27-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200108052312.238710-1-david@gibson.dropbear.id.au> References: <20200108052312.238710-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater blk_getlength() returns an int64_t but the result is stored in a uint32_t. Errors (negative values) won't be caught by the check in pnv_pnor_realize() and blk_blockalign() will allocate a very large buffer in such cases. Fixes Coverity issue CID 1412226. Signed-off-by: C=C3=A9dric Le Goater Message-Id: <20200107171809.15556-3-clg@kaod.org> Reviewed-by: Greg Kurz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: David Gibson --- hw/ppc/pnv_pnor.c | 2 +- include/hw/ppc/pnv_pnor.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/ppc/pnv_pnor.c b/hw/ppc/pnv_pnor.c index 0e86ae2fea..b061106d1c 100644 --- a/hw/ppc/pnv_pnor.c +++ b/hw/ppc/pnv_pnor.c @@ -111,7 +111,7 @@ static void pnv_pnor_realize(DeviceState *dev, Error **= errp) } =20 static Property pnv_pnor_properties[] =3D { - DEFINE_PROP_UINT32("size", PnvPnor, size, 128 << 20), + DEFINE_PROP_INT64("size", PnvPnor, size, 128 << 20), DEFINE_PROP_DRIVE("drive", PnvPnor, blk), DEFINE_PROP_END_OF_LIST(), }; diff --git a/include/hw/ppc/pnv_pnor.h b/include/hw/ppc/pnv_pnor.h index c3dd28643c..4f96abdfb4 100644 --- a/include/hw/ppc/pnv_pnor.h +++ b/include/hw/ppc/pnv_pnor.h @@ -23,7 +23,7 @@ typedef struct PnvPnor { BlockBackend *blk; =20 uint8_t *storage; - uint32_t size; + int64_t size; MemoryRegion mmio; } PnvPnor; =20 --=20 2.24.1