From nobody Mon Apr 29 02:45:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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 (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1558701961; cv=none; d=zoho.com; s=zohoarc; b=VgU093m2VSz1PQ73Y8hl/nrUhSM4mlajgEXlq4ZokOYG40C4LEXh2SKcSjvzaYZJWlvIBtNdhZzdJ+mgytMSR1BBPz6b2e3APeHuzawFJiCU1LUrZonFM7NSzqWql282fE2ZC5YrQprvOcJ9BM3SubuZ9Pjzfk7CH5sKIg6FLVY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558701961; 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:ARC-Authentication-Results; bh=yMurcUMIFdpnP3p1to7MzM4fFIbcq3+mh+iTljVeSgE=; b=eJzKzxDxYo5rDI+8eCxWj6NnxXnVJsyXcnAurXCWKFYj0sa7Vk1OmarEXSVHOAqFm5eHvxC8FhWJKMkD46B/ALOBhoY8pktCxU5XZ7yx4StcvYSeyj4/H6Ct0QCm66uqiZF/FTMGy4EDMc/YJ3fE7q2ABxC9aiW1lfxPvKOETpQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558701961518190.27884701672735; Fri, 24 May 2019 05:46:01 -0700 (PDT) Received: from localhost ([127.0.0.1]:54168 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hU9a1-0000j1-Dw for importer@patchew.org; Fri, 24 May 2019 08:45:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hU9XC-0007IG-Ba for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hU9XB-0006LK-Bd for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:54 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:33607) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hU9XB-0006Kl-5Y for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:53 -0400 Received: by mail-wm1-x342.google.com with SMTP id v19so1129481wmh.0 for ; Fri, 24 May 2019 05:42:53 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id t12sm2969854wro.2.2019.05.24.05.42.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 05:42:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yMurcUMIFdpnP3p1to7MzM4fFIbcq3+mh+iTljVeSgE=; b=VNxD/h6nAE/YTUxcjWCj8jvSyhmCtE0GUjChyIYc1sIhZthl2+bk+B1nHta5I+S14m Qf9iE03/esogHzaNdbtm5R+0w93kojpcUTxJj6ucey/6tXcS7cBvc+cpU/Ur102kV+nN Uqn7beFzcfn7Yf6uzUnaiRAssQ/lV5rjg5OwTwJP1eLktwgkUJmqrN6rVM+1Vxz3PB60 TKYls+541b5IRHI7kYMfbNHQnjYnOVtxBhJHBnQPdCj55zsMfcV0OS7T4aRaoIfXMmIz U8ud3Fb6naYRUmZuyNP7/unO+hUMp5LpgwZSAZu5iXnH909SrQaR3C8sx0JqcZ+l8lJ0 m8tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yMurcUMIFdpnP3p1to7MzM4fFIbcq3+mh+iTljVeSgE=; b=RIybMmHkA0lO1tsOwfvR+FCG/SbupxMgoAKmAqbF1al1m9cLtueFahulcrOZQEV3dE LufFjL/c+f943FJgSlz3mZ9TN1+Po6GDjS7ux1FZBZrJlUGUYhh5pWk3EMPXEdhfyXft kdoH5G/fYNkXg0iTRMB/bWXyNwvZeu/8O5SVqQrop1zq4OX+ICtCI4Pfv+svRgngE7zf g2ooDbpYyPlBDhHG/Gpf7xg4lJ78o1Lfwqy35t7AnQezjoGSLT2PmLVkvYeRPerQd/1y vvVJWSrvFiP+rh0lmYgDsaw4F5LCuAXhxtPK0D9Cx++cNoraWOAfj7NzHYDaQ1eK/P00 z4Uw== X-Gm-Message-State: APjAAAVpzclkJN0nGnx4zfOKaUeujUTW/FZ789hsMNXDInujq97jT+sE ubfpgJ9EJ5LEuUwftn83U936YjxoqoIVbQ== X-Google-Smtp-Source: APXvYqy1vTilmX7BKhgTRGkICUgYtEkeIXKpXK19DxChmNm42c3ZwvITzhlmYRmHG60dA9CEYbw4GQ== X-Received: by 2002:a1c:be0b:: with SMTP id o11mr16583199wmf.63.1558701772160; Fri, 24 May 2019 05:42:52 -0700 (PDT) From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Date: Fri, 24 May 2019 13:42:47 +0100 Message-Id: <20190524124248.28394-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190524124248.28394-1-peter.maydell@linaro.org> References: <20190524124248.28394-1-peter.maydell@linaro.org> 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: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PATCH v2 1/2] hw/intc/arm_gicv3: Fix decoding of ID register range 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= 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" The GIC ID registers cover an area 0x30 bytes in size (12 registers, 4 bytes each). We were incorrectly decoding only the first 0x20 bytes. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/intc/arm_gicv3_dist.c | 4 ++-- hw/intc/arm_gicv3_redist.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c index 53c55c57291..e6fe4905fd3 100644 --- a/hw/intc/arm_gicv3_dist.c +++ b/hw/intc/arm_gicv3_dist.c @@ -533,7 +533,7 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr off= set, } return MEMTX_OK; } - case GICD_IDREGS ... GICD_IDREGS + 0x1f: + case GICD_IDREGS ... GICD_IDREGS + 0x2f: /* ID registers */ *data =3D gicv3_idreg(offset - GICD_IDREGS); return MEMTX_OK; @@ -744,7 +744,7 @@ static MemTxResult gicd_writel(GICv3State *s, hwaddr of= fset, gicd_write_irouter(s, attrs, irq, r); return MEMTX_OK; } - case GICD_IDREGS ... GICD_IDREGS + 0x1f: + case GICD_IDREGS ... GICD_IDREGS + 0x2f: case GICD_TYPER: case GICD_IIDR: /* RO registers, ignore the write */ diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c index 3b0ba6de1ab..8645220d618 100644 --- a/hw/intc/arm_gicv3_redist.c +++ b/hw/intc/arm_gicv3_redist.c @@ -233,7 +233,7 @@ static MemTxResult gicr_readl(GICv3CPUState *cs, hwaddr= offset, } *data =3D cs->gicr_nsacr; return MEMTX_OK; - case GICR_IDREGS ... GICR_IDREGS + 0x1f: + case GICR_IDREGS ... GICR_IDREGS + 0x2f: *data =3D gicv3_idreg(offset - GICR_IDREGS); return MEMTX_OK; default: @@ -363,7 +363,7 @@ static MemTxResult gicr_writel(GICv3CPUState *cs, hwadd= r offset, return MEMTX_OK; case GICR_IIDR: case GICR_TYPER: - case GICR_IDREGS ... GICR_IDREGS + 0x1f: + case GICR_IDREGS ... GICR_IDREGS + 0x2f: /* RO registers, ignore the write */ qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid guest write to RO register at offset " --=20 2.20.1 From nobody Mon Apr 29 02:45:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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 (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1558701893; cv=none; d=zoho.com; s=zohoarc; b=ajlQ9Ym5RFnKwT+toSpPWC+zGxFdI371zeBMCMEsVbSugC4xPi6jmPsGqtWthnyqxmQwdL5MARaQFVHCCdv8HbjtlrJtoZH/dYCA/K9PScTWkCM11+e3BJDVbaQPibN0mRrlfFgBaKI96kp27s+z3x5GOwiARU2yd9EE06DIFOM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558701893; 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:ARC-Authentication-Results; bh=FTfH2Bmgd6/uhQsHPCYg8B8J/1/AvPfs4Sq0ZaLk7QE=; b=frvXTyEoM5Kjn06mb04DT5b2CO6vhqX6gaJRWmgDJnT2LNIx2EPtBs/WnJdb3WKtLNhKQADvA0FnT/vqHiK7H8UvpXDvxf8hqvA72DOFOQBucDnhpiI0+9cTSH4e7ODsmasRrrFQWjoMWmG9HBoEGIlrBqg7X0nyaM38Gta64dg= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558701892882865.6763889309581; Fri, 24 May 2019 05:44:52 -0700 (PDT) Received: from localhost ([127.0.0.1]:54122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hU9Yg-00088P-Bb for importer@patchew.org; Fri, 24 May 2019 08:44:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52679) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hU9XD-0007Iw-Dd for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hU9XC-0006MF-EK for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:55 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:41693) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hU9XC-0006LQ-7m for qemu-devel@nongnu.org; Fri, 24 May 2019 08:42:54 -0400 Received: by mail-wr1-x442.google.com with SMTP id u16so5987965wrn.8 for ; Fri, 24 May 2019 05:42:54 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id t12sm2969854wro.2.2019.05.24.05.42.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 May 2019 05:42:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FTfH2Bmgd6/uhQsHPCYg8B8J/1/AvPfs4Sq0ZaLk7QE=; b=MRsWERedJmlAtH7x9EnKJlj24vxFVZ4aWLWYqrZf39ujjK9k+NR56LU5Gde2Ti/pXi 8Z8mWzrKhrd7ZPeWEriV/cA9v2wUGvzu5OYMFe0UkNMYVLEcN8eaZZ4svNKBJyVTeUE8 eQmZgEeH7gp6+ld6It/4mSjT83JNJuH434UOEAoEBnK5PNJ24JSWrJ+SQ0JBXfB58Zna B4aClMXCJcw2ffkxpiJunqUPhLilOtBxqZ8SepEume1s0soSmvG6AbTlHI9nC58szNZR gZZ+Z3PzrkbvMEL+hPyL7PCB/6c2GspGbzvX+woktX+hXEbYqCaMPgz/hRDCayVhjTSP 8IHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FTfH2Bmgd6/uhQsHPCYg8B8J/1/AvPfs4Sq0ZaLk7QE=; b=NAoida1Gp8wD3N90AjIx901s9OgzyOlV1je9PZ+2B2Az55QGMsN5n+Netndp6Y0lqb OWpY4xIV3O0FCehg8GA0Pm+b77aF36mHtlG3YnVsa0PBRupdAXW8h1X43xhJEbBJa4bt bRmotfiEj0voUR8zbo7ePU/G2nm40/jia1n0zLgpz+9vutglFgZSUmiilgPGfMG5Mo9E uUZ9LNVzCRSeb2ly6KgKOXXMSXwVm/Br6ZFkpFeTxkgTf6IuIMiVLt+NarHfowf3ky2o 6WKFW1QXeXNXyC8TQXEuQ7UrUiHmy3gkgUE0ulp0neaI4TXf3sVDuPdBSVCmQOQyz+EX 1tgQ== X-Gm-Message-State: APjAAAVIbTsuznQXMzGDc0XTAR+iQ7hx1tQAtFx8ius462/MIcjbDaEu irVnTjKvmGFfkWMdSlVWixi4vA== X-Google-Smtp-Source: APXvYqxvGqiqXw29BUqTbkswqQN4wZChO/PbQV5RP8kKI299Cb2ap+htnTOqjjOhGlsXNgCDOA00WA== X-Received: by 2002:a5d:4d92:: with SMTP id b18mr63645779wru.212.1558701773214; Fri, 24 May 2019 05:42:53 -0700 (PDT) From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Date: Fri, 24 May 2019 13:42:48 +0100 Message-Id: <20190524124248.28394-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190524124248.28394-1-peter.maydell@linaro.org> References: <20190524124248.28394-1-peter.maydell@linaro.org> 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: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PATCH v2 2/2] hw/intc/arm_gicv3: GICD_TYPER.SecurityExtn is RAZ if GICD_CTLR.DS == 1 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= 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" The GICv3 specification says that the GICD_TYPER.SecurityExtn bit is RAZ if GICD_CTLR.DS is 1. We were incorrectly making it RAZ if the security extension is unsupported. "Security extension unsupported" always implies GICD_CTLR.DS =3D=3D 1, but the guest can also set DS on a GIC which does support the security extension. Fix the condition to correctly check the GICD_CTLR.DS bit. Signed-off-by: Peter Maydell --- hw/intc/arm_gicv3_dist.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c index e6fe4905fd3..b65f56f9035 100644 --- a/hw/intc/arm_gicv3_dist.c +++ b/hw/intc/arm_gicv3_dist.c @@ -378,8 +378,14 @@ static MemTxResult gicd_readl(GICv3State *s, hwaddr of= fset, * ITLinesNumber =3D=3D (num external irqs / 32) - 1 */ int itlinesnumber =3D ((s->num_irq - GIC_INTERNAL) / 32) - 1; + /* + * SecurityExtn must be RAZ if GICD_CTLR.DS =3D=3D 1, and + * "security extensions not supported" always implies DS =3D=3D 1, + * so we only need to check the DS bit. + */ + bool sec_extn =3D !(s->gicd_ctlr & GICD_CTLR_DS); =20 - *data =3D (1 << 25) | (1 << 24) | (s->security_extn << 10) | + *data =3D (1 << 25) | (1 << 24) | (sec_extn << 10) | (0xf << 19) | itlinesnumber; return MEMTX_OK; } --=20 2.20.1