From nobody Sat May 4 16:50:51 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1510129039547375.4865456836443; Wed, 8 Nov 2017 00:17:19 -0800 (PST) Received: from localhost ([::1]:58208 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLXP-00007T-3l for importer@patchew.org; Wed, 08 Nov 2017 03:16:43 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40650) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLTX-0005vv-5b for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCLTU-0000RW-2D for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:43 -0500 Received: from ozlabs.org ([103.22.144.67]:37115) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eCLTT-0000Px-3l; Wed, 08 Nov 2017 03:12:39 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3yWzYb1DCWz9rxl; Wed, 8 Nov 2017 19:12:35 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1510128755; bh=SEcJOYoSRB3qr2ipI+GbM3lqMDXLPzWHciBq5vWdRe4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LUgKBx6B74FIYG9MFHyUZj3FNcwA32tg9lD5n/xRwdWbCEjkCgqMP2hGpzi+qXXfB zU+lkExpMwF94OM0J2wQrBI04v+pjHuEqYQFZmfDA2Txfwy8hfsE4RAiYy9N4pFYa5 Z8xsvgI5F2+HHoTXYpmJXMr8d1CJw7ZXpEyq34ek= From: David Gibson To: peter.maydell@linaro.org Date: Wed, 8 Nov 2017 19:12:30 +1100 Message-Id: <20171108081232.28322-2-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171108081232.28322-1-david@gibson.dropbear.id.au> References: <20171108081232.28322-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 1/3] ppc: fix setting of compat 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, thuth@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, agraf@suse.de, 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_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Greg Kurz While trying to make KVM PR usable again, commit 5dfaa532ae introduced a regression: the current compat_pvr value is passed to KVM instead of the new one. This means that we always pass 0 instead of the max-cpu-compat PVR during the initial machine reset. And at CAS time, we either pass the PVR from the command line or even don't call kvmppc_set_compat() at all, ie, the PCR will not be set as expected. For example if we start a big endian fedora26 guest in power7 compat mode on a POWER8 host, we get this in the guest: $ cat /proc/cpuinfo processor : 0 cpu : POWER7 (architected), altivec supported clock : 4024.000000MHz revision : 2.0 (pvr 004d 0200) timebase : 512000000 platform : pSeries model : IBM pSeries (emulated by qemu) machine : CHRP IBM pSeries (emulated by qemu) MMU : Hash but the guest can still execute POWER8 instructions, and the following program succeeds: int main() { asm("vncipher 0,0,0"); // ISA 2.07 instruction } Let's pass the new compat_pvr to kvmppc_set_compat() and the program fails with SIGILL as expected. Reported-by: Nageswara R Sastry Signed-off-by: Greg Kurz Signed-off-by: David Gibson --- target/ppc/compat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/compat.c b/target/ppc/compat.c index f8729fe46d..ad8f93c064 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -141,7 +141,7 @@ void ppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pv= r, Error **errp) cpu_synchronize_state(CPU(cpu)); =20 if (kvm_enabled() && cpu->compat_pvr !=3D compat_pvr) { - int ret =3D kvmppc_set_compat(cpu, cpu->compat_pvr); + int ret =3D kvmppc_set_compat(cpu, compat_pvr); if (ret < 0) { error_setg_errno(errp, -ret, "Unable to set CPU compatibility mode in KVM"= ); --=20 2.13.6 From nobody Sat May 4 16:50:51 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1510128880370735.8639113863804; Wed, 8 Nov 2017 00:14:40 -0800 (PST) Received: from localhost ([::1]:58193 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLUz-0006bz-HM for importer@patchew.org; Wed, 08 Nov 2017 03:14:13 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLTX-0005vt-50 for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCLTU-0000RM-1i for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:43 -0500 Received: from ozlabs.org ([103.22.144.67]:41197) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eCLTT-0000Pw-3n; Wed, 08 Nov 2017 03:12:39 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3yWzYb2bYfz9sNw; Wed, 8 Nov 2017 19:12:35 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1510128755; bh=mr4TwXrB5Zg7lFMLzc0w++IY97p7XJhPG9OkcdFR/qg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XzC48C61eiDqoJ7UZ40/8RCil/ec29lOUDHool2QQ/8d+MtE3HY6EyYM6YNWzxk7a IECTUPWALGPQAuRiWAiEibQRw4OfCEUCyfB6op9SRv8P7b8l7fUWY2p56k4Kb8lKe1 ISdWUOJ4hPpxFKQJMEI2Ll0BRMPU3MYXLsJGDies= From: David Gibson To: peter.maydell@linaro.org Date: Wed, 8 Nov 2017 19:12:31 +1100 Message-Id: <20171108081232.28322-3-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171108081232.28322-1-david@gibson.dropbear.id.au> References: <20171108081232.28322-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 2/3] hw/display/sm501: Fix comment in sm501_sysbus_class_init() 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, thuth@redhat.com, qemu-devel@nongnu.org, groug@kaod.org, agraf@suse.de, 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_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth The "cannot_instantiate_with_device_add_yet" flag has been renamed to "user_creatable" a while ago. Signed-off-by: Thomas Huth Reviewed-by: Gerd Hoffmann Signed-off-by: David Gibson --- hw/display/sm501.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 6eddac911e..7f1822421a 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -1758,7 +1758,7 @@ static void sm501_sysbus_class_init(ObjectClass *klas= s, void *data) dc->reset =3D sm501_reset_sysbus; dc->vmsd =3D &vmstate_sm501_sysbus; /* Note: pointer property "chr-state" may remain null, thus - * no need for dc->cannot_instantiate_with_device_add_yet =3D true; + * no need for dc->user_creatable =3D false; */ } =20 --=20 2.13.6 From nobody Sat May 4 16:50:51 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 151012888543758.813499706506036; Wed, 8 Nov 2017 00:14:45 -0800 (PST) Received: from localhost ([::1]:58194 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLVE-0006op-ER for importer@patchew.org; Wed, 08 Nov 2017 03:14:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCLTX-0005vu-5Y for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCLTU-0000RH-1E for qemu-devel@nongnu.org; Wed, 08 Nov 2017 03:12:43 -0500 Received: from ozlabs.org ([103.22.144.67]:37253) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eCLTT-0000Pv-3f; Wed, 08 Nov 2017 03:12:39 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 3yWzYb3dlfz9sPk; Wed, 8 Nov 2017 19:12:35 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gibson.dropbear.id.au; s=201602; t=1510128755; bh=euBAdwt/aiIi2Lp+J5vBPjTyZZmxnAcRc4KfcpLir3U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oZS8+1iSz/Bbil9axEGYHgObqHGQxnwLZoA3IBdSI6d4rlVdNv8Z/dKwSMofbr2pc Rn670jyp5O5estVftyLIFxKMWp/wStW4gDhg9YdTyTvDQ5oySZ0P4/mKWyVdp5rL3N rMMCpclIBeYdiINtpJvswow2bdDUFaVGfE+pf2KU= From: David Gibson To: peter.maydell@linaro.org Date: Wed, 8 Nov 2017 19:12:32 +1100 Message-Id: <20171108081232.28322-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171108081232.28322-1-david@gibson.dropbear.id.au> References: <20171108081232.28322-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 3/3] e500: ppce500_init_mpic() return device instead of IRQ array 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, thuth@redhat.com, qemu-devel@nongnu.org, Michael Davidsaver , groug@kaod.org, agraf@suse.de, 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_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Michael Davidsaver Actual number of interrupt pins isn't known in ppce500_init_mpic() so a hardcoded number was used, which causes a crash with older openpic. Instead, return the DeviceState* and change ppce500_init() to call qdev_get_gpio_in() to get only the irq pins which are needed. Signed-off-by: Michael Davidsaver Signed-off-by: David Gibson --- hw/ppc/e500.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 9178e70132..5cf0dabef3 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -729,15 +729,13 @@ static DeviceState *ppce500_init_mpic_kvm(PPCE500Para= ms *params, return dev; } =20 -static qemu_irq *ppce500_init_mpic(MachineState *machine, PPCE500Params *p= arams, - MemoryRegion *ccsr, qemu_irq **irqs) +static DeviceState *ppce500_init_mpic(MachineState *machine, + PPCE500Params *params, + MemoryRegion *ccsr, + qemu_irq **irqs) { - qemu_irq *mpic; DeviceState *dev =3D NULL; SysBusDevice *s; - int i; - - mpic =3D g_new0(qemu_irq, 256); =20 if (kvm_enabled()) { Error *err =3D NULL; @@ -756,15 +754,11 @@ static qemu_irq *ppce500_init_mpic(MachineState *mach= ine, PPCE500Params *params, dev =3D ppce500_init_mpic_qemu(params, irqs); } =20 - for (i =3D 0; i < 256; i++) { - mpic[i] =3D qdev_get_gpio_in(dev, i); - } - s =3D SYS_BUS_DEVICE(dev); memory_region_add_subregion(ccsr, MPC8544_MPIC_REGS_OFFSET, s->mmio[0].memory); =20 - return mpic; + return dev; } =20 static void ppce500_power_off(void *opaque, int line, int on) @@ -796,8 +790,8 @@ void ppce500_init(MachineState *machine, PPCE500Params = *params) /* irq num for pin INTA, INTB, INTC and INTD is 1, 2, 3 and * 4 respectively */ unsigned int pci_irq_nrs[PCI_NUM_PINS] =3D {1, 2, 3, 4}; - qemu_irq **irqs, *mpic; - DeviceState *dev; + qemu_irq **irqs; + DeviceState *dev, *mpicdev; CPUPPCState *firstenv =3D NULL; MemoryRegion *ccsr_addr_space; SysBusDevice *s; @@ -866,18 +860,18 @@ void ppce500_init(MachineState *machine, PPCE500Param= s *params) memory_region_add_subregion(address_space_mem, params->ccsrbar_base, ccsr_addr_space); =20 - mpic =3D ppce500_init_mpic(machine, params, ccsr_addr_space, irqs); + mpicdev =3D ppce500_init_mpic(machine, params, ccsr_addr_space, irqs); =20 /* Serial */ if (serial_hds[0]) { serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET, - 0, mpic[42], 399193, + 0, qdev_get_gpio_in(mpicdev, 42), 399193, serial_hds[0], DEVICE_BIG_ENDIAN); } =20 if (serial_hds[1]) { serial_mm_init(ccsr_addr_space, MPC8544_SERIAL1_REGS_OFFSET, - 0, mpic[42], 399193, + 0, qdev_get_gpio_in(mpicdev, 42), 399193, serial_hds[1], DEVICE_BIG_ENDIAN); } =20 @@ -895,7 +889,7 @@ void ppce500_init(MachineState *machine, PPCE500Params = *params) qdev_init_nofail(dev); s =3D SYS_BUS_DEVICE(dev); for (i =3D 0; i < PCI_NUM_PINS; i++) { - sysbus_connect_irq(s, i, mpic[pci_irq_nrs[i]]); + sysbus_connect_irq(s, i, qdev_get_gpio_in(mpicdev, pci_irq_nrs[i])= ); } =20 memory_region_add_subregion(ccsr_addr_space, MPC8544_PCI_REGS_OFFSET, @@ -926,7 +920,7 @@ void ppce500_init(MachineState *machine, PPCE500Params = *params) dev =3D qdev_create(NULL, "mpc8xxx_gpio"); s =3D SYS_BUS_DEVICE(dev); qdev_init_nofail(dev); - sysbus_connect_irq(s, 0, mpic[MPC8XXX_GPIO_IRQ]); + sysbus_connect_irq(s, 0, qdev_get_gpio_in(mpicdev, MPC8XXX_GPIO_IR= Q)); memory_region_add_subregion(ccsr_addr_space, MPC8XXX_GPIO_OFFSET, sysbus_mmio_get_region(s, 0)); =20 @@ -946,7 +940,7 @@ void ppce500_init(MachineState *machine, PPCE500Params = *params) =20 for (i =3D 0; i < params->platform_bus_num_irqs; i++) { int irqn =3D params->platform_bus_first_irq + i; - sysbus_connect_irq(s, i, mpic[irqn]); + sysbus_connect_irq(s, i, qdev_get_gpio_in(mpicdev, irqn)); } =20 memory_region_add_subregion(address_space_mem, --=20 2.13.6