From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516512998405466.01968730330634; Sat, 20 Jan 2018 21:36:38 -0800 (PST) Received: from localhost ([::1]:34438 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Iu-0001tf-0U for importer@patchew.org; Sun, 21 Jan 2018 00:36:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gd-0000Xx-9l for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gc-0007Hz-9s for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:07 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:53473) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Gb-0007Bo-HL; Sun, 21 Jan 2018 00:34:06 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXN5Sh4z9t39; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512836; bh=FqF3U1xajrS8BBIhXzpf35w9Xf+7G/CK7uMMstDA/IU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H23oi//XsyVKl5eKI1O12jlqbRF2BBeFlt4bb7qRUFM5r8zPvacftyzqQFVct8Lz7 VcB/WkRx6glFNPVPI4+lsxdVaPKi2YncTJyFk9iHLHCOytR+CW1bELBpgOCaWHSZZZ En4JRcwFcI69hTXALatBiQ/y9MjK69JfA4RkoK5w= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:42 +1100 Message-Id: <20180121053353.25970-2-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 01/12] default-configs/ppc64-softmmu: Include 32-bit configs instead of copying them X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Thomas Huth , surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth qemu-softmmu-ppc64 is supposed to be a superset of qemu-softmmu-ppc. However, instead of simply including the 32-bit config file, we've duplicated all CONFIG_xxx settings there instead. This way, we've missed some CONFIG switches in ppc64-softmmu.mak which were only added to the 32-bit config file (e.g. CONFIG_SUNGEM). Let's fix this problem by including the 32-bit config file into the 64-bit config file instead of duplicating all the CONFIG switches there. Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- default-configs/ppc64-softmmu.mak | 61 +++++------------------------------= ---- 1 file changed, 8 insertions(+), 53 deletions(-) diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-soft= mmu.mak index d1b3a6dd50..b94af6c7c6 100644 --- a/default-configs/ppc64-softmmu.mak +++ b/default-configs/ppc64-softmmu.mak @@ -1,64 +1,19 @@ # Default configuration for ppc64-softmmu =20 -include pci.mak -include sound.mak -include usb.mak -CONFIG_PPC4XX=3Dy -CONFIG_VIRTIO_VGA=3Dy -CONFIG_ESCC=3Dy -CONFIG_M48T59=3Dy +# Include all 32-bit boards +include ppc-softmmu.mak + +# For PowerNV +CONFIG_POWERNV=3Dy CONFIG_IPMI=3Dy CONFIG_IPMI_LOCAL=3Dy CONFIG_IPMI_EXTERN=3Dy CONFIG_ISA_IPMI_BT=3Dy -CONFIG_SERIAL=3Dy -CONFIG_PARALLEL=3Dy -CONFIG_I8254=3Dy -CONFIG_PCKBD=3Dy -CONFIG_FDC=3Dy -CONFIG_I8257=3Dy -CONFIG_I82374=3Dy -CONFIG_OPENPIC=3Dy -CONFIG_PREP_PCI=3Dy -CONFIG_I82378=3Dy -CONFIG_PC87312=3Dy -CONFIG_MACIO=3Dy -CONFIG_PCSPK=3Dy -CONFIG_CUDA=3Dy -CONFIG_ADB=3Dy -CONFIG_MAC_NVRAM=3Dy -CONFIG_MAC_DBDMA=3Dy -CONFIG_HEATHROW_PIC=3Dy -CONFIG_GRACKLE_PCI=3Dy -CONFIG_UNIN_PCI=3Dy -CONFIG_DEC_PCI=3Dy -CONFIG_PPCE500_PCI=3Dy -CONFIG_IDE_ISA=3Dy -CONFIG_IDE_CMD646=3Dy -CONFIG_IDE_MACIO=3Dy -CONFIG_NE2000_ISA=3Dy -CONFIG_PFLASH_CFI01=3Dy -CONFIG_PFLASH_CFI02=3Dy -CONFIG_PTIMER=3Dy -CONFIG_I8259=3Dy -CONFIG_XILINX=3Dy -CONFIG_XILINX_ETHLITE=3Dy -CONFIG_PSERIES=3Dy -CONFIG_POWERNV=3Dy -CONFIG_PREP=3Dy -CONFIG_MAC=3Dy -CONFIG_E500=3Dy -CONFIG_OPENPIC_KVM=3D$(call land,$(CONFIG_E500),$(CONFIG_KVM)) -CONFIG_PLATFORM_BUS=3Dy -CONFIG_ETSEC=3Dy -CONFIG_SM501=3Dy + # For pSeries +CONFIG_PSERIES=3Dy +CONFIG_VIRTIO_VGA=3Dy CONFIG_XICS=3D$(CONFIG_PSERIES) CONFIG_XICS_SPAPR=3D$(CONFIG_PSERIES) CONFIG_XICS_KVM=3D$(call land,$(CONFIG_PSERIES),$(CONFIG_KVM)) -# For PReP -CONFIG_SERIAL_ISA=3Dy -CONFIG_MC146818RTC=3Dy -CONFIG_ISA_TESTDEV=3Dy CONFIG_MEM_HOTPLUG=3Dy -CONFIG_RS6000_MC=3Dy --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513180562929.5098110118122; Sat, 20 Jan 2018 21:39:40 -0800 (PST) Received: from localhost ([::1]:34454 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Lz-0004Ib-P6 for importer@patchew.org; Sun, 21 Jan 2018 00:39:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35988) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gd-0000Xy-9k for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gc-0007Hs-9U for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:07 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:33051) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Gb-0007Bn-HG; Sun, 21 Jan 2018 00:34:06 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXN6nNQz9t1t; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512836; bh=suHoNOwG6qzzjBrDnFcD6m8Ox7G2s2m6Mt7SUK1IoKk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n7UzfDSArkLD/ZMzDZ62SZroRA4VaKgdH/1UJ+oqdLnr/1xin0g1EJhG8E6ba1QY6 BAUTO2H+WRRJEeIqk0w4NdnyQewp+J3IZN5pYSZ5oyF9NNKqxcPtVS6B9Wyn+Jgbfe UFe2c9PdSm+Nk6HRUZRqBDCIJHTmjkyOSYq2tX/U= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:43 +1100 Message-Id: <20180121053353.25970-3-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 02/12] default-configs/ppc-softmmu: Restructure the switches according to the machines X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Thomas Huth , surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth Order the CONFIG switches in ppc-softmmu.mak according to the machine classes where they are used (embedded, Mac or PReP), so that it is easier for the users to disable a set of switches completely if they are not needed. Also add the missing CONFIG_IDE_SII3112 switch to the embedded section which was previously only added to ppcemb-softmmu.mak. And while we're at it, also remove the CONFIG_IDE_CMD646 switch since this controller does not seem to be used by any ppc machine in QEMU. Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- default-configs/ppc-softmmu.mak | 59 ++++++++++++++++++++++---------------= ---- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.= mak index bb225c6e46..3baed6a8fd 100644 --- a/default-configs/ppc-softmmu.mak +++ b/default-configs/ppc-softmmu.mak @@ -3,52 +3,57 @@ include pci.mak include sound.mak include usb.mak + +# For embedded PPCs: CONFIG_PPC4XX=3Dy -CONFIG_ESCC=3Dy CONFIG_M48T59=3Dy CONFIG_SERIAL=3Dy -CONFIG_PARALLEL=3Dy -CONFIG_I8254=3Dy -CONFIG_PCKBD=3Dy -CONFIG_FDC=3Dy CONFIG_I8257=3Dy -CONFIG_I82374=3Dy CONFIG_OPENPIC=3Dy -CONFIG_PREP_PCI=3Dy -CONFIG_I82378=3Dy -CONFIG_PC87312=3Dy -CONFIG_MACIO=3Dy -CONFIG_SUNGEM=3Dy -CONFIG_PCSPK=3Dy -CONFIG_CS4231A=3Dy -CONFIG_CUDA=3Dy -CONFIG_ADB=3Dy -CONFIG_MAC_NVRAM=3Dy -CONFIG_MAC_DBDMA=3Dy -CONFIG_HEATHROW_PIC=3Dy -CONFIG_GRACKLE_PCI=3Dy -CONFIG_UNIN_PCI=3Dy -CONFIG_DEC_PCI=3Dy CONFIG_PPCE500_PCI=3Dy -CONFIG_IDE_ISA=3Dy -CONFIG_IDE_CMD646=3Dy -CONFIG_IDE_MACIO=3Dy -CONFIG_NE2000_ISA=3Dy CONFIG_PFLASH_CFI01=3Dy CONFIG_PFLASH_CFI02=3Dy CONFIG_PTIMER=3Dy CONFIG_I8259=3Dy CONFIG_XILINX=3Dy CONFIG_XILINX_ETHLITE=3Dy -CONFIG_PREP=3Dy -CONFIG_MAC=3Dy CONFIG_E500=3Dy CONFIG_OPENPIC_KVM=3D$(call land,$(CONFIG_E500),$(CONFIG_KVM)) CONFIG_PLATFORM_BUS=3Dy CONFIG_ETSEC=3Dy CONFIG_SM501=3Dy +CONFIG_IDE_SII3112=3Dy + +# For Macs +CONFIG_MAC=3Dy +CONFIG_ESCC=3Dy +CONFIG_MACIO=3Dy +CONFIG_SUNGEM=3Dy +CONFIG_CUDA=3Dy +CONFIG_ADB=3Dy +CONFIG_MAC_NVRAM=3Dy +CONFIG_MAC_DBDMA=3Dy +CONFIG_HEATHROW_PIC=3Dy +CONFIG_GRACKLE_PCI=3Dy +CONFIG_UNIN_PCI=3Dy +CONFIG_DEC_PCI=3Dy +CONFIG_IDE_MACIO=3Dy + # For PReP +CONFIG_PREP=3Dy +CONFIG_PREP_PCI=3Dy CONFIG_SERIAL_ISA=3Dy CONFIG_MC146818RTC=3Dy CONFIG_ISA_TESTDEV=3Dy CONFIG_RS6000_MC=3Dy +CONFIG_PARALLEL=3Dy +CONFIG_I82374=3Dy +CONFIG_I82378=3Dy +CONFIG_I8254=3Dy +CONFIG_PCKBD=3Dy +CONFIG_FDC=3Dy +CONFIG_NE2000_ISA=3Dy +CONFIG_PC87312=3Dy +CONFIG_PCSPK=3Dy +CONFIG_IDE_ISA=3Dy +CONFIG_CS4231A=3Dy --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516512998205914.8428872150616; Sat, 20 Jan 2018 21:36:38 -0800 (PST) Received: from localhost ([::1]:34439 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8It-0001tm-Tc for importer@patchew.org; Sun, 21 Jan 2018 00:36:27 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gd-0000Xu-8u for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gc-0007Hk-9D for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:07 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:58661) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Gb-0007Bm-HI; Sun, 21 Jan 2018 00:34:06 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXN3rssz9sP9; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512836; bh=1ogcuL93TPvZIxVK/6Pww/LmNEey/qTWIWV9WcOJ/44=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W86kC4AGVIelhed1t1W4sIht4xlE6d4zJqCJlpaxmno+jUO7afkg76X1FMCr5lgDe QENztxFkpG0hb6VM11kDZBGcXr15iI0frWY9m8Yzkw0itpHQHaG6HLWxt64MVyyhgR nhbP97UzTYAkZWGQIPl3Qft+E7s9Vdf176xt/uzs= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:44 +1100 Message-Id: <20180121053353.25970-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 03/12] hw/ppc/Makefile: Add a way to disable the PPC4xx boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, Thomas Huth , surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth We've got the config switch CONFIG_PPC4XX, so we should use it in the Makefile accordingly and only include the PPC4xx boards if this switch has been enabled. (Note: Unfortunately, the files ppc4xx_devs.c and ppc405_uc.c still have to be included in the build anyway to fulfil some complicated linker dependencies ... so these are subject to a more thourough clean-up later) Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- hw/ppc/Makefile.objs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs index 1faff853b7..ad1928c5d8 100644 --- a/hw/ppc/Makefile.objs +++ b/hw/ppc/Makefile.objs @@ -12,8 +12,8 @@ obj-y +=3D spapr_pci_vfio.o endif obj-$(CONFIG_PSERIES) +=3D spapr_rtas_ddw.o # PowerPC 4xx boards -obj-y +=3D ppc405_boards.o ppc4xx_devs.o ppc405_uc.o ppc440_bamboo.o -obj-y +=3D ppc4xx_pci.o +obj-y +=3D ppc4xx_devs.o ppc405_uc.o +obj-$(CONFIG_PPC4XX) +=3D ppc4xx_pci.o ppc405_boards.o ppc440_bamboo.o # PReP obj-$(CONFIG_PREP) +=3D prep.o obj-$(CONFIG_PREP) +=3D prep_systemio.o --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513015169358.4709353243662; Sat, 20 Jan 2018 21:36:55 -0800 (PST) Received: from localhost ([::1]:34441 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8JK-0002Ev-Cj for importer@patchew.org; Sun, 21 Jan 2018 00:36:54 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36095) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gg-0000Yv-LT for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gc-0007Hp-9s for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from ozlabs.org ([103.22.144.67]:46553) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Gb-0007Bq-HN; Sun, 21 Jan 2018 00:34:06 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP0wg6z9t2Q; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=2qv3/N5KUFXYjwocd9J+noQaKroB7bZ9evj4tuC0ncs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P/qQx5ol6Naxf77WBAwOFiQwnRH9sppqlsemhz2AxPpnGVDMyFARUBh9impmryA+7 4muM9R1iLOQ5s05cBPp0k5PKLkaaweOlYfBw8qTRUyFJhb49OQ7NAoz5Px2bdC/NyF JuN0ZLffBNjNb/tlb/+0mmeF84qdrNfgG03NO3mE= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:45 +1100 Message-Id: <20180121053353.25970-5-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-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: 103.22.144.67 Subject: [Qemu-devel] [PULL 04/12] target/ppc: fix doorbell and hypervisor doorbell definitions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater commit f03a1af581b9 ("ppc: Fix POWER7 and POWER8 exception definitions") introduced definitions for the server doorbell exceptions by reusing the embedded definitions but this adds complexity in the powerpc_excp() routine. Let's introduce specific definitions for the Server doorbells exception. Signed-off-by: C=C3=A9dric Le Goater Signed-off-by: David Gibson --- target/ppc/cpu.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 14aaa87fe8..b8f4dfc108 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -140,9 +140,6 @@ enum { POWERPC_EXCP_HYPPRIV =3D 41, /* Embedded hypervisor priv instruction = */ /* Vectors 42 to 63 are reserved = */ /* Exceptions defined in the PowerPC server specification = */ - /* Server doorbell variants */ -#define POWERPC_EXCP_SDOOR POWERPC_EXCP_GDOORI -#define POWERPC_EXCP_SDOOR_HV POWERPC_EXCP_DOORI POWERPC_EXCP_RESET =3D 64, /* System reset exception = */ POWERPC_EXCP_DSEG =3D 65, /* Data segment exception = */ POWERPC_EXCP_ISEG =3D 66, /* Instruction segment exception = */ @@ -189,8 +186,11 @@ enum { POWERPC_EXCP_HV_EMU =3D 96, /* HV emulation assistance = */ POWERPC_EXCP_HV_MAINT =3D 97, /* HMI = */ POWERPC_EXCP_HV_FU =3D 98, /* Hypervisor Facility unavailable = */ + /* Server doorbell variants */ + POWERPC_EXCP_SDOOR =3D 99, + POWERPC_EXCP_SDOOR_HV =3D 100, /* EOL = */ - POWERPC_EXCP_NB =3D 99, + POWERPC_EXCP_NB =3D 101, /* QEMU exceptions: used internally during code translation = */ POWERPC_EXCP_STOP =3D 0x200, /* stop translation = */ POWERPC_EXCP_BRANCH =3D 0x201, /* branch instruction = */ --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513417230306.9630342168682; Sat, 20 Jan 2018 21:43:37 -0800 (PST) Received: from localhost ([::1]:34478 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Po-0007Q5-Gb for importer@patchew.org; Sun, 21 Jan 2018 00:43:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36123) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gh-0000Zj-80 for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007LJ-Pd for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from ozlabs.org ([103.22.144.67]:33877) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ik-DD; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP4Fk8z9t3F; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=rJqWD7joyKZ7hbFP4nkTFItn6q8b5Ft9UizuHOyNM0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HF0M8+xuwTbhOu4CxSQtUZrZfI0GtL572VP2fG4Z6Ah68htUTnMMXsx9hXGTKOYLP kmQZ9Lks5Xp/jrHyO39JwPZBDyQTkZejfo5Q2Ds4aBgnQT6pOGFqRMMR+tOw1LJ8pB fYfIQRFKkBTzztf+1LARj0Dnvi1zZhuW11SiZBIQ= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:46 +1100 Message-Id: <20180121053353.25970-6-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-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: 103.22.144.67 Subject: [Qemu-devel] [PULL 05/12] target/ppc: msgsnd and msgclr instructions need hypervisor privilege X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater Signed-off-by: C=C3=A9dric Le Goater Signed-off-by: David Gibson --- target/ppc/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 0ef21cce33..396f422cf4 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -6174,7 +6174,7 @@ static void gen_msgclr(DisasContext *ctx) #if defined(CONFIG_USER_ONLY) GEN_PRIV; #else - CHK_SV; + CHK_HV; gen_helper_msgclr(cpu_env, cpu_gpr[rB(ctx->opcode)]); #endif /* defined(CONFIG_USER_ONLY) */ } @@ -6184,7 +6184,7 @@ static void gen_msgsnd(DisasContext *ctx) #if defined(CONFIG_USER_ONLY) GEN_PRIV; #else - CHK_SV; + CHK_HV; gen_helper_msgsnd(cpu_gpr[rB(ctx->opcode)]); #endif /* defined(CONFIG_USER_ONLY) */ } --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151651318168261.66068445469148; Sat, 20 Jan 2018 21:39:41 -0800 (PST) Received: from localhost ([::1]:34456 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8M1-0004K4-0a for importer@patchew.org; Sun, 21 Jan 2018 00:39:41 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gh-0000Zi-7b for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007LY-ST for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from ozlabs.org ([103.22.144.67]:37459) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Im-Fa; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP3XcCz9t3J; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=BovuiCBsZWhgiStuKUsZ+ydQJpEL9/JxXasd4uIjR6Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y288jU99IB8N5AlwWUvuOz3XTegAar6rA4XN74NpbpCuVEhe+wquFLklZKpFntxjG XiaRYksf3OKzXcVEewxzbSKad601TZhMGaIm1/H3CQ9Egdk5OrEdJdK7cYpO3NXDa7 ViwFVuDeHfPDTSRxXstLRAIAe2jgued8chlg6Dbw= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:47 +1100 Message-Id: <20180121053353.25970-7-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 103.22.144.67 Subject: [Qemu-devel] [PULL 06/12] spapr: drop duplicate variable in spapr_core_plug() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Greg Kurz A variable is already defined at the begining of the function to hold a pointer to the CPU core object: sPAPRCPUCore *core =3D SPAPR_CPU_CORE(OBJECT(dev)); No need to define it again in the pre-2.10 compatibility code snipplet. Signed-off-by: Greg Kurz Signed-off-by: David Gibson --- hw/ppc/spapr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index a781dd22e7..fe38c56ff3 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3357,9 +3357,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_d= ev, DeviceState *dev, int i; =20 for (i =3D 0; i < cc->nr_threads; i++) { - sPAPRCPUCore *sc =3D SPAPR_CPU_CORE(dev); - - cs =3D CPU(sc->threads[i]); + cs =3D CPU(core->threads[i]); pre_2_10_vmstate_unregister_dummy_icp(cs->cpu_index); } } --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513574519969.839259453176; Sat, 20 Jan 2018 21:46:14 -0800 (PST) Received: from localhost ([::1]:34742 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8SL-00017z-Mw for importer@patchew.org; Sun, 21 Jan 2018 00:46:13 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gh-0000Zm-8N for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007LS-R2 for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from ozlabs.org ([103.22.144.67]:60545) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ij-EG; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP1y5jz9t3B; Sun, 21 Jan 2018 16:33:56 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=s0+QB7tgmj3BjUbQz87QFUHSXXKmN1CzVey0cZ+PLHY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f/O66R7RIONf5mwsIoKA3pSitgeh4P23eAyJ1lRE0gkDQwT0hOKg6KdXtHoKYkGy7 DrGYF2O74TFXA4rCuBHsd1KsWY/00Ob4N6PWA8pWoVDi5+42ZrwlZAso8uswbsOjXe RYC9BCokHUzToJnlieeZAvxVoTbfckBPQYaWAbg0= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:48 +1100 Message-Id: <20180121053353.25970-8-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 103.22.144.67 Subject: [Qemu-devel] [PULL 07/12] spapr: fix device tree properties when using compatibility mode X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Greg Kurz Commit 51f84465dd98 changed the compatility mode setting logic: - machine reset only sets compatibility mode for the boot CPU - compatibility mode is set for other CPUs when they are put online by the guest with the "start-cpu" RTAS call This causes a regression for machines started with max-compat-cpu: the device tree nodes related to secondary CPU cores contain wrong "cpu-version" and "ibm,pa-features" values, as shown below. Guest started on a POWER8 host with: -smp cores=3D2 -machine pseries,max-cpu-compat=3Dcompat7 ibm,pa-features =3D [18 00 f6 3f c7 c0 80 f0 80 00 00 00 00 00 00 00 00 00 80 00 80 00 80 00 00 00]; cpu-version =3D <0x4d0200>; ^^^ second CPU core ibm,pa-features =3D <0x600f63f 0xc70080c0>; cpu-version =3D <0xf000003>; ^^^ boot CPU core The second core is advertised in raw POWER8 mode. This happens because CAS assumes all CPUs to have the same compatibility mode. Since the boot CPU already has the requested compatibility mode, the CAS code does not set it for the secondary one, and exposes the bogus device tree properties in in the CAS response to the guest. A similar situation is observed when hot-plugging a CPU core. The related device tree properties are generated and exposed to guest with the "ibm,configure-connector" RTAS before "start-cpu" is called. The CPU core is advertised to the guest in raw mode as well. It both cases, it boils down to the fact that "start-cpu" happens too late. This can be fixed globally by propagating the compatibility mode of the boot CPU to the other CPUs during reset. For this to work, the compatibility mode of the boot CPU must be set before the machine code actually resets all CPUs. It is not needed to set the compatibility mode in "start-cpu" anymore, so the code is dropped. Fixes: 51f84465dd98 Signed-off-by: Greg Kurz Signed-off-by: David Gibson --- hw/ppc/spapr.c | 18 +++++++++--------- hw/ppc/spapr_cpu_core.c | 7 +++++++ hw/ppc/spapr_rtas.c | 9 --------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index fe38c56ff3..88a78d31eb 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1484,6 +1484,15 @@ static void spapr_machine_reset(void) spapr_setup_hpt_and_vrma(spapr); } =20 + /* if this reset wasn't generated by CAS, we should reset our + * negotiated options and start from scratch */ + if (!spapr->cas_reboot) { + spapr_ovec_cleanup(spapr->ov5_cas); + spapr->ov5_cas =3D spapr_ovec_new(); + + ppc_set_compat(first_ppc_cpu, spapr->max_compat_pvr, &error_fatal); + } + qemu_devices_reset(); =20 /* DRC reset may cause a device to be unplugged. This will cause troub= les @@ -1504,15 +1513,6 @@ static void spapr_machine_reset(void) rtas_addr =3D rtas_limit - RTAS_MAX_SIZE; fdt_addr =3D rtas_addr - FDT_MAX_SIZE; =20 - /* if this reset wasn't generated by CAS, we should reset our - * negotiated options and start from scratch */ - if (!spapr->cas_reboot) { - spapr_ovec_cleanup(spapr->ov5_cas); - spapr->ov5_cas =3D spapr_ovec_new(); - - ppc_set_compat(first_ppc_cpu, spapr->max_compat_pvr, &error_fatal); - } - fdt =3D spapr_build_fdt(spapr, rtas_addr, spapr->rtas_size); =20 spapr_load_rtas(spapr, fdt, rtas_addr); diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index ac19b2e0b7..590d167b04 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -44,6 +44,13 @@ static void spapr_cpu_reset(void *opaque) if (cs !=3D first_cpu) { env->spr[SPR_LPCR] &=3D ~pcc->lpcr_pm; } + + /* Set compatibility mode to match the boot CPU, which was either set + * by the machine reset code or by CAS. This should never fail. + */ + if (cs !=3D first_cpu) { + ppc_set_compat(cpu, POWERPC_CPU(first_cpu)->compat_pvr, &error_abo= rt); + } } =20 static void spapr_cpu_destroy(PowerPCCPU *cpu) diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 2b89e1d448..4bb939d3d1 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -163,7 +163,6 @@ static void rtas_start_cpu(PowerPCCPU *cpu_, sPAPRMachi= neState *spapr, CPUState *cs =3D CPU(cpu); CPUPPCState *env =3D &cpu->env; PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); - Error *local_err =3D NULL; =20 if (!cs->halted) { rtas_st(rets, 0, RTAS_OUT_HW_ERROR); @@ -175,14 +174,6 @@ static void rtas_start_cpu(PowerPCCPU *cpu_, sPAPRMach= ineState *spapr, * new cpu enters */ kvm_cpu_synchronize_state(cs); =20 - /* Set compatibility mode to match existing cpus */ - ppc_set_compat(cpu, POWERPC_CPU(first_cpu)->compat_pvr, &local_err= ); - if (local_err) { - error_report_err(local_err); - rtas_st(rets, 0, RTAS_OUT_HW_ERROR); - return; - } - env->msr =3D (1ULL << MSR_SF) | (1ULL << MSR_ME); =20 /* Enable Power-saving mode Exit Cause exceptions for the new CPU = */ --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 151651340563084.7466441783447; Sat, 20 Jan 2018 21:43:25 -0800 (PST) Received: from localhost ([::1]:34476 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8PU-000778-Ls for importer@patchew.org; Sun, 21 Jan 2018 00:43:16 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gg-0000Yn-GM for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Lz-Vp for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:54757) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ia-IS; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP5C74z9t3C; Sun, 21 Jan 2018 16:33:57 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=QTg0B5BKPApKgVSbc2Z3vzJT4faGdV1cRCasBJXwxXE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EH9VkgbYV//DLPaVwpBPkebx2NVI8hbmekcJzKOxzwFI6BWJOdYrG8U6cCqcAooY3 PZLhZrUHADVXiUS+462jJN9PAX3OwqMct7ra2NQTGcfRRG+x3Gih3yAFzYuy4+O/Io QvffPBbHr8t7agpTn1oKetL+6OmJp+s0bJ7ACePc= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:49 +1100 Message-Id: <20180121053353.25970-9-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 08/12] target-ppc: optimize cmp translation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, "pbonzini@redhat.com" , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: "pbonzini@redhat.com" We know that only one bit (in addition to SO) is going to be set in the condition register, so do two movconds instead of three setconds, three shifts and two ORs. For ppc64-linux-user, the code size reduction is around 5% and the performance improvement slightly less than 10%. For softmmu, the improvement is around 5%. Signed-off-by: Paolo Bonzini Signed-off-by: David Gibson --- target/ppc/translate.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 396f422cf4..bcd36d5353 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -605,27 +605,22 @@ static opc_handler_t invalid_handler =3D { static inline void gen_op_cmp(TCGv arg0, TCGv arg1, int s, int crf) { TCGv t0 =3D tcg_temp_new(); - TCGv_i32 t1 =3D tcg_temp_new_i32(); - - tcg_gen_trunc_tl_i32(cpu_crf[crf], cpu_so); - - tcg_gen_setcond_tl((s ? TCG_COND_LT: TCG_COND_LTU), t0, arg0, arg1); - tcg_gen_trunc_tl_i32(t1, t0); - tcg_gen_shli_i32(t1, t1, CRF_LT_BIT); - tcg_gen_or_i32(cpu_crf[crf], cpu_crf[crf], t1); + TCGv t1 =3D tcg_temp_new(); + TCGv_i32 t =3D tcg_temp_new_i32(); =20 - tcg_gen_setcond_tl((s ? TCG_COND_GT: TCG_COND_GTU), t0, arg0, arg1); - tcg_gen_trunc_tl_i32(t1, t0); - tcg_gen_shli_i32(t1, t1, CRF_GT_BIT); - tcg_gen_or_i32(cpu_crf[crf], cpu_crf[crf], t1); + tcg_gen_movi_tl(t0, CRF_EQ); + tcg_gen_movi_tl(t1, CRF_LT); + tcg_gen_movcond_tl((s ? TCG_COND_LT : TCG_COND_LTU), t0, arg0, arg1, t= 1, t0); + tcg_gen_movi_tl(t1, CRF_GT); + tcg_gen_movcond_tl((s ? TCG_COND_GT : TCG_COND_GTU), t0, arg0, arg1, t= 1, t0); =20 - tcg_gen_setcond_tl(TCG_COND_EQ, t0, arg0, arg1); - tcg_gen_trunc_tl_i32(t1, t0); - tcg_gen_shli_i32(t1, t1, CRF_EQ_BIT); - tcg_gen_or_i32(cpu_crf[crf], cpu_crf[crf], t1); + tcg_gen_trunc_tl_i32(t, t0); + tcg_gen_trunc_tl_i32(cpu_crf[crf], cpu_so); + tcg_gen_or_i32(cpu_crf[crf], cpu_crf[crf], t); =20 tcg_temp_free(t0); - tcg_temp_free_i32(t1); + tcg_temp_free(t1); + tcg_temp_free_i32(t); } =20 static inline void gen_op_cmpi(TCGv arg0, target_ulong arg1, int s, int cr= f) --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516512998408520.5484320246177; Sat, 20 Jan 2018 21:36:38 -0800 (PST) Received: from localhost ([::1]:34440 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Iv-0001vT-Ex for importer@patchew.org; Sun, 21 Jan 2018 00:36:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gg-0000YR-2p for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Lt-VE for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:51163) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ic-Hg; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXP6F1bz9t3V; Sun, 21 Jan 2018 16:33:57 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512837; bh=uOCIfs+7K8PyGzpZTzAco+9ULElUNc2KtKwNd1iiJtw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fuq0c80w4G+EK54V7p7R+ot1MJ39coBZVoZ3kKCP2KnOp8XKfMDX0hrealzMzEzcQ QoKhWll20PxOZ0Kk6FRtu0sdfAAfiAJXr7y6qFGktEhEwoKGDrq5wEY6nChLQB4hG1 WoTHKXUYvLt8QmtRo5w55C5dYE5zyxwXvKlcr3OI= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:50 +1100 Message-Id: <20180121053353.25970-10-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 09/12] sm501: Add missing break to case X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: BALATON Zoltan Noticed by Coverity, forgotten in 5690d9ece Reported-by: Peter Maydell Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/display/sm501.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 4f7dc59b25..134cbed607 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -797,6 +797,7 @@ static uint64_t sm501_system_config_read(void *opaque, = hwaddr addr, break; case SM501_COMMAND_LIST_STATUS: ret =3D 0x00180002; /* FIFOs are empty, everything idle */ + break; case SM501_IRQ_MASK: ret =3D s->irq_mask; break; --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513208702710.0900422574917; Sat, 20 Jan 2018 21:40:08 -0800 (PST) Received: from localhost ([::1]:34457 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8MS-0004eS-0E for importer@patchew.org; Sun, 21 Jan 2018 00:40:08 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36124) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gh-0000Zk-7y for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ll-U8 for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from ozlabs.org ([103.22.144.67]:46233) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Ir-Ge; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXQ0mStz9t3m; Sun, 21 Jan 2018 16:33:57 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512838; bh=Yr3m0DgMhuNQiMUxqwI/Fi6QBG9fOOHXE/XtkUlIo2o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=F0cJhIkSAruXt7E1aO7zdrWEKd8q9+nIXIiMzEEwke+PYRouF8+PGOSVsefijugvw /cV0NTgQhhpguGHTwfJrpEZpXfIW9EWXMBKp1BCbQL6XNMCFkNWMuTo7VMIZ3+Wjga S9QvuD47qMofRR3/fh2J487H7JDEbx+tQAUtS0w8= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:51 +1100 Message-Id: <20180121053353.25970-11-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 103.22.144.67 Subject: [Qemu-devel] [PULL 10/12] sii3112: Add explicit type casts to avoid unintended sign extension X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, qemu-devel@nongnu.org, groug@kaod.org, qemu-ppc@nongnu.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) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: BALATON Zoltan Noticed by Coverity Reported-by: Peter Maydell Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ide/sii3112.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c index e2f5562bb7..17aa930e39 100644 --- a/hw/ide/sii3112.c +++ b/hw/ide/sii3112.c @@ -79,13 +79,13 @@ static uint64_t sii3112_reg_read(void *opaque, hwaddr a= ddr, val |=3D (d->regs[0].confstat & (1UL << 11) ? (1 << 4) : 0); /*SAT= AINT0*/ val |=3D (d->regs[1].confstat & (1UL << 11) ? (1 << 6) : 0); /*SAT= AINT1*/ val |=3D (d->i.bmdma[1].status & BM_STATUS_INT ? (1 << 14) : 0); - val |=3D d->i.bmdma[0].status << 16; - val |=3D d->i.bmdma[1].status << 24; + val |=3D (uint32_t)d->i.bmdma[0].status << 16; + val |=3D (uint32_t)d->i.bmdma[1].status << 24; break; case 0x18: val =3D d->i.bmdma[1].cmd; val |=3D (d->regs[1].confstat & (1UL << 11) ? (1 << 4) : 0); - val |=3D d->i.bmdma[1].status << 16; + val |=3D (uint32_t)d->i.bmdma[1].status << 16; break; case 0x80 ... 0x87: if (size =3D=3D 1) { @@ -128,7 +128,7 @@ static uint64_t sii3112_reg_read(void *opaque, hwaddr a= ddr, val =3D (d->i.bus[0].ifs[0].blk) ? 0x113 : 0; break; case 0x148: - val =3D d->regs[0].sien << 16; + val =3D (uint32_t)d->regs[0].sien << 16; break; case 0x180: val =3D d->regs[1].scontrol; @@ -137,7 +137,7 @@ static uint64_t sii3112_reg_read(void *opaque, hwaddr a= ddr, val =3D (d->i.bus[1].ifs[0].blk) ? 0x113 : 0; break; case 0x1c8: - val =3D d->regs[1].sien << 16; + val =3D (uint32_t)d->regs[1].sien << 16; break; default: val =3D 0; --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513405988493.4138507021436; Sat, 20 Jan 2018 21:43:25 -0800 (PST) Received: from localhost ([::1]:34477 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Pc-0007Ds-FX for importer@patchew.org; Sun, 21 Jan 2018 00:43:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36099) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gg-0000ZG-Ta for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gf-0007MT-5D for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:43743) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007If-GX; Sun, 21 Jan 2018 00:34:09 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXQ1k1Hz9t3k; Sun, 21 Jan 2018 16:33:57 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512838; bh=4bbVLDkHjA8rE//8GmdAjoWbGPo0bYZw2lFasEGxl+g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KhY7/Ou7Cmbbr0d6xlyKxTwpoVp0G3Kd1/mncwvu9OqrwtiWno/wGeP+jclZf4BJt ZuzoC5qVq73nttn4KIqYR5vMELuOwEnEU+c6inTzRDISmOeSfFLUZSHSlnaWIXIGtv ni9K7NwA06bZBqIj5M/qttJ1058AVPK1rxoI35Yw= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:52 +1100 Message-Id: <20180121053353.25970-12-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-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 Subject: [Qemu-devel] [PULL 11/12] target/ppc: add support for hypervisor doorbells on book3s CPUs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: C=C3=A9dric Le Goater The hypervisor doorbells are used by skiboot and Linux on POWER9 processors to wake up secondaries. This adds processor control support to the Server architecture by reusing the Embedded support. They are very similar, only the bits definition of the CPU identifier differ. Still to be done is message broadcast to all threads of the same processor. Signed-off-by: C=C3=A9dric Le Goater Signed-off-by: David Gibson --- target/ppc/cpu.h | 8 +++++-- target/ppc/excp_helper.c | 52 +++++++++++++++++++++++++++++++++++++++++= ++++ target/ppc/helper.h | 2 ++ target/ppc/translate.c | 25 ++++++++++++++++++++-- target/ppc/translate_init.c | 2 +- 5 files changed, 84 insertions(+), 5 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index b8f4dfc108..603a38cae8 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -930,7 +930,7 @@ enum { #define BOOKE206_MAX_TLBN 4 =20 /*************************************************************************= ****/ -/* Embedded.Processor Control */ +/* Server and Embedded Processor Control */ =20 #define DBELL_TYPE_SHIFT 27 #define DBELL_TYPE_MASK (0x1f << DBELL_TYPE_SHIFT) @@ -940,11 +940,15 @@ enum { #define DBELL_TYPE_G_DBELL_CRIT (0x03 << DBELL_TYPE_SHIFT) #define DBELL_TYPE_G_DBELL_MC (0x04 << DBELL_TYPE_SHIFT) =20 -#define DBELL_BRDCAST (1 << 26) +#define DBELL_TYPE_DBELL_SERVER (0x05 << DBELL_TYPE_SHIFT) + +#define DBELL_BRDCAST PPC_BIT(37) #define DBELL_LPIDTAG_SHIFT 14 #define DBELL_LPIDTAG_MASK (0xfff << DBELL_LPIDTAG_SHIFT) #define DBELL_PIRTAG_MASK 0x3fff =20 +#define DBELL_PROCIDTAG_MASK PPC_BITMASK(44, 63) + /*************************************************************************= ****/ /* Segment page size information, used by recent hash MMUs * The format of this structure mirrors kvm_ppc_smmu_info diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 4e548a4487..c092fbead0 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -417,6 +417,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int ex= cp_model, int excp) case POWERPC_EXCP_HISI: /* Hypervisor instruction storage excepti= on */ case POWERPC_EXCP_HDSEG: /* Hypervisor data segment exception = */ case POWERPC_EXCP_HISEG: /* Hypervisor instruction segment excepti= on */ + case POWERPC_EXCP_SDOOR_HV: /* Hypervisor Doorbell interrupt = */ case POWERPC_EXCP_HV_EMU: srr0 =3D SPR_HSRR0; srr1 =3D SPR_HSRR1; @@ -846,6 +847,11 @@ static void ppc_hw_interrupt(CPUPPCState *env) powerpc_excp(cpu, env->excp_model, POWERPC_EXCP_DOORI); return; } + if (env->pending_interrupts & (1 << PPC_INTERRUPT_HDOORBELL)) { + env->pending_interrupts &=3D ~(1 << PPC_INTERRUPT_HDOORBELL); + powerpc_excp(cpu, env->excp_model, POWERPC_EXCP_SDOOR_HV); + return; + } if (env->pending_interrupts & (1 << PPC_INTERRUPT_PERFM)) { env->pending_interrupts &=3D ~(1 << PPC_INTERRUPT_PERFM); powerpc_excp(cpu, env->excp_model, POWERPC_EXCP_PERFM); @@ -1145,4 +1151,50 @@ void helper_msgsnd(target_ulong rb) } qemu_mutex_unlock_iothread(); } + +/* Server Processor Control */ +static int book3s_dbell2irq(target_ulong rb) +{ + int msg =3D rb & DBELL_TYPE_MASK; + + /* A Directed Hypervisor Doorbell message is sent only if the + * message type is 5. All other types are reserved and the + * instruction is a no-op */ + return msg =3D=3D DBELL_TYPE_DBELL_SERVER ? PPC_INTERRUPT_HDOORBELL : = -1; +} + +void helper_book3s_msgclr(CPUPPCState *env, target_ulong rb) +{ + int irq =3D book3s_dbell2irq(rb); + + if (irq < 0) { + return; + } + + env->pending_interrupts &=3D ~(1 << irq); +} + +void helper_book3s_msgsnd(target_ulong rb) +{ + int irq =3D book3s_dbell2irq(rb); + int pir =3D rb & DBELL_PROCIDTAG_MASK; + CPUState *cs; + + if (irq < 0) { + return; + } + + qemu_mutex_lock_iothread(); + CPU_FOREACH(cs) { + PowerPCCPU *cpu =3D POWERPC_CPU(cs); + CPUPPCState *cenv =3D &cpu->env; + + /* TODO: broadcast message to all threads of the same processor */ + if (cenv->spr_cb[SPR_PIR].default_value =3D=3D pir) { + cenv->pending_interrupts |=3D 1 << irq; + cpu_interrupt(cs, CPU_INTERRUPT_HARD); + } + } + qemu_mutex_unlock_iothread(); +} #endif diff --git a/target/ppc/helper.h b/target/ppc/helper.h index bb6a94a8b3..5b739179b8 100644 --- a/target/ppc/helper.h +++ b/target/ppc/helper.h @@ -679,6 +679,8 @@ DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_NO_RWG, void, env= , tl, tl) DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_NO_RWG_SE, tl, tl) DEF_HELPER_1(msgsnd, void, tl) DEF_HELPER_2(msgclr, void, env, tl) +DEF_HELPER_1(book3s_msgsnd, void, tl) +DEF_HELPER_2(book3s_msgclr, void, env, tl) #endif =20 DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index bcd36d5353..4132f67bb1 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -6170,7 +6170,12 @@ static void gen_msgclr(DisasContext *ctx) GEN_PRIV; #else CHK_HV; - gen_helper_msgclr(cpu_env, cpu_gpr[rB(ctx->opcode)]); + /* 64-bit server processors compliant with arch 2.x */ + if (ctx->insns_flags & PPC_SEGMENT_64B) { + gen_helper_book3s_msgclr(cpu_env, cpu_gpr[rB(ctx->opcode)]); + } else { + gen_helper_msgclr(cpu_env, cpu_gpr[rB(ctx->opcode)]); + } #endif /* defined(CONFIG_USER_ONLY) */ } =20 @@ -6180,10 +6185,24 @@ static void gen_msgsnd(DisasContext *ctx) GEN_PRIV; #else CHK_HV; - gen_helper_msgsnd(cpu_gpr[rB(ctx->opcode)]); + /* 64-bit server processors compliant with arch 2.x */ + if (ctx->insns_flags & PPC_SEGMENT_64B) { + gen_helper_book3s_msgsnd(cpu_gpr[rB(ctx->opcode)]); + } else { + gen_helper_msgsnd(cpu_gpr[rB(ctx->opcode)]); + } #endif /* defined(CONFIG_USER_ONLY) */ } =20 +static void gen_msgsync(DisasContext *ctx) +{ +#if defined(CONFIG_USER_ONLY) + GEN_PRIV; +#else + CHK_HV; +#endif /* defined(CONFIG_USER_ONLY) */ + /* interpreted as no-op */ +} =20 #if defined(TARGET_PPC64) static void gen_maddld(DisasContext *ctx) @@ -6664,6 +6683,8 @@ GEN_HANDLER2_E(msgsnd, "msgsnd", 0x1F, 0x0E, 0x06, 0x= 03ff0001, PPC_NONE, PPC2_PRCNTL), GEN_HANDLER2_E(msgclr, "msgclr", 0x1F, 0x0E, 0x07, 0x03ff0001, PPC_NONE, PPC2_PRCNTL), +GEN_HANDLER2_E(msgsync, "msgsync", 0x1F, 0x16, 0x1B, 0x00000000, + PPC_NONE, PPC2_PRCNTL), GEN_HANDLER(wrtee, 0x1F, 0x03, 0x04, 0x000FFC01, PPC_WRTEE), GEN_HANDLER(wrteei, 0x1F, 0x03, 0x05, 0x000E7C01, PPC_WRTEE), GEN_HANDLER(dlmzb, 0x1F, 0x0E, 0x02, 0x00000000, PPC_440_SPEC), diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index 70ff15a51a..55c99c97e3 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -8866,7 +8866,7 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data) PPC2_FP_TST_ISA206 | PPC2_BCTAR_ISA207 | PPC2_LSQ_ISA207 | PPC2_ALTIVEC_207 | PPC2_ISA205 | PPC2_ISA207S | PPC2_FP_CVT_S64 | - PPC2_TM | PPC2_PM_ISA206 | PPC2_ISA300; + PPC2_TM | PPC2_PM_ISA206 | PPC2_ISA300 | PPC2_PRCN= TL; pcc->msr_mask =3D (1ull << MSR_SF) | (1ull << MSR_TM) | (1ull << MSR_VR) | --=20 2.14.3 From nobody Mon Apr 29 10:38:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516513405905843.440836380708; Sat, 20 Jan 2018 21:43:25 -0800 (PST) Received: from localhost ([::1]:34475 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8PS-00074v-LB for importer@patchew.org; Sun, 21 Jan 2018 00:43:14 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36090) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ed8Gg-0000Yo-Gs for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ed8Gf-0007MA-1r for qemu-devel@nongnu.org; Sun, 21 Jan 2018 00:34:10 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:46565) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ed8Ge-0007Id-KO; Sun, 21 Jan 2018 00:34:08 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3zPNXQ02n9z9t3h; Sun, 21 Jan 2018 16:33:57 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1516512838; bh=6dDhIcxnzVW3yUqeDKm6//FhNb/fLXJxFhL45yqgYL4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gA75dtuNyhlYmU3c8AmKDifwOQpZtTJl8WOu6tYkfTB98ThbgXpA1vX+RFgsVtEps +2nno4LQeCkk5rq52/SIolGLtC8FeCjRPNNBsy358s5Xl8+E31yXBtG/Hm0QcN0GPr BYMSvdGpAfRLInibDocDMFi+INAoMtHWhRE7llDM= From: David Gibson To: peter.maydell@linaro.org Date: Sun, 21 Jan 2018 16:33:53 +1100 Message-Id: <20180121053353.25970-13-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180121053353.25970-1-david@gibson.dropbear.id.au> References: <20180121053353.25970-1-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2401:3900:2:1::2 Subject: [Qemu-devel] [PULL 12/12] target/ppc/spapr_caps: Add macro to generate spapr_caps migration vmstate X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, surajjs@au1.ibm.com, groug@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, Suraj Jitindar Singh , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Suraj Jitindar Singh The vmstate description and the contained needed function for migration of spapr_caps is the same for each cap, with the name of the cap substituted. As such introduce a macro to allow for easier generation of these. Convert the three existing spapr_caps (htm, vsx, and dfp) to use this macro. Signed-off-by: Suraj Jitindar Singh Signed-off-by: David Gibson --- hw/ppc/spapr_caps.c | 78 +++++++++++++++++--------------------------------= ---- 1 file changed, 24 insertions(+), 54 deletions(-) diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index d5c9ce774a..5d52969bd5 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -228,62 +228,32 @@ int spapr_caps_post_migration(sPAPRMachineState *spap= r) return ok ? 0 : -EINVAL; } =20 -static bool spapr_cap_htm_needed(void *opaque) -{ - sPAPRMachineState *spapr =3D opaque; - - return spapr->cmd_line_caps[SPAPR_CAP_HTM] && - (spapr->eff.caps[SPAPR_CAP_HTM] !=3D spapr->def.caps[SPAPR_CAP_= HTM]); -} - -const VMStateDescription vmstate_spapr_cap_htm =3D { - .name =3D "spapr/cap/htm", - .version_id =3D 1, - .minimum_version_id =3D 1, - .needed =3D spapr_cap_htm_needed, - .fields =3D (VMStateField[]) { - VMSTATE_UINT8(mig.caps[SPAPR_CAP_HTM], sPAPRMachineState), - VMSTATE_END_OF_LIST() - }, -}; - -static bool spapr_cap_vsx_needed(void *opaque) -{ - sPAPRMachineState *spapr =3D opaque; - - return spapr->cmd_line_caps[SPAPR_CAP_VSX] && - (spapr->eff.caps[SPAPR_CAP_VSX] !=3D spapr->def.caps[SPAPR_CAP_= VSX]); +/* Used to generate the migration field and needed function for a spapr ca= p */ +#define SPAPR_CAP_MIG_STATE(cap, ccap) \ +static bool spapr_cap_##cap##_needed(void *opaque) \ +{ \ + sPAPRMachineState *spapr =3D opaque; \ + \ + return spapr->cmd_line_caps[SPAPR_CAP_##ccap] && \ + (spapr->eff.caps[SPAPR_CAP_##ccap] !=3D \ + spapr->def.caps[SPAPR_CAP_##ccap]); \ +} \ + \ +const VMStateDescription vmstate_spapr_cap_##cap =3D { \ + .name =3D "spapr/cap/" #cap, \ + .version_id =3D 1, \ + .minimum_version_id =3D 1, \ + .needed =3D spapr_cap_##cap##_needed, \ + .fields =3D (VMStateField[]) { \ + VMSTATE_UINT8(mig.caps[SPAPR_CAP_##ccap], \ + sPAPRMachineState), \ + VMSTATE_END_OF_LIST() \ + }, \ } =20 -const VMStateDescription vmstate_spapr_cap_vsx =3D { - .name =3D "spapr/cap/vsx", - .version_id =3D 1, - .minimum_version_id =3D 1, - .needed =3D spapr_cap_vsx_needed, - .fields =3D (VMStateField[]) { - VMSTATE_UINT8(mig.caps[SPAPR_CAP_VSX], sPAPRMachineState), - VMSTATE_END_OF_LIST() - }, -}; - -static bool spapr_cap_dfp_needed(void *opaque) -{ - sPAPRMachineState *spapr =3D opaque; - - return spapr->cmd_line_caps[SPAPR_CAP_DFP] && - (spapr->eff.caps[SPAPR_CAP_DFP] !=3D spapr->def.caps[SPAPR_CAP_= DFP]); -} - -const VMStateDescription vmstate_spapr_cap_dfp =3D { - .name =3D "spapr/cap/dfp", - .version_id =3D 1, - .minimum_version_id =3D 1, - .needed =3D spapr_cap_dfp_needed, - .fields =3D (VMStateField[]) { - VMSTATE_UINT8(mig.caps[SPAPR_CAP_DFP], sPAPRMachineState), - VMSTATE_END_OF_LIST() - }, -}; +SPAPR_CAP_MIG_STATE(htm, HTM); +SPAPR_CAP_MIG_STATE(vsx, VSX); +SPAPR_CAP_MIG_STATE(dfp, DFP); =20 void spapr_caps_reset(sPAPRMachineState *spapr) { --=20 2.14.3