From nobody Tue Feb 10 20:48:55 2026 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 1516381513799677.3390903729427; Fri, 19 Jan 2018 09:05:13 -0800 (PST) Received: from localhost ([::1]:59723 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eca6K-0007DP-62 for importer@patchew.org; Fri, 19 Jan 2018 12:05:12 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecY7W-0002pT-I2 for qemu-devel@nongnu.org; Fri, 19 Jan 2018 09:58:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecY7V-0003mn-Hw for qemu-devel@nongnu.org; Fri, 19 Jan 2018 09:58:18 -0500 Received: from greensocs.com ([193.104.36.180]:39273) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecY7P-0003iL-WD; Fri, 19 Jan 2018 09:58:12 -0500 Received: from localhost (localhost [127.0.0.1]) by greensocs.com (Postfix) with ESMTP id CA09B65A14; Fri, 19 Jan 2018 15:58:03 +0100 (CET) Received: from greensocs.com ([127.0.0.1]) by localhost (gs-01.greensocs.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R0UB70wXBmRD; Fri, 19 Jan 2018 15:58:03 +0100 (CET) Received: by greensocs.com (Postfix, from userid 998) id F30F0319FD0; Fri, 19 Jan 2018 15:58:00 +0100 (CET) Received: from michell-laptop.hive.antfield.fr (tima-dhcp-h14.imag.fr [147.171.132.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: luc.michel@greensocs.com) by greensocs.com (Postfix) with ESMTPSA id A6F28319FD1; Fri, 19 Jan 2018 15:58:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1516373883; bh=g6nlRw/e1ZG7zJp5fvespuMpsjuDbplCDnFGXjGLpqY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=uAeCMlxctAH1yPiklSRoKiYLxqxwQnxPLh5nbq5MgwC7V3glk2SaYa70IYwPeOYxp NPoBefgSkJGTF6UnwGcN8b2I513UwRxE1ZiP3qTqUcPhc3bzsxhk96rVX2c1PSGIV2 SRXwSaMXftd+rDUNzFnDYkAg5u4YB6phiabHpmKA= X-Virus-Scanned: amavisd-new at greensocs.com Authentication-Results: gs-01.greensocs.com (amavisd-new); dkim=pass (1024-bit key) header.d=greensocs.com header.b=qsxARHN1; dkim=pass (1024-bit key) header.d=greensocs.com header.b=qsxARHN1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1516373880; bh=g6nlRw/e1ZG7zJp5fvespuMpsjuDbplCDnFGXjGLpqY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=qsxARHN1C+Ui/0ZHHZWqmqm/aLbYZkTYWWflUKvQFGIMefKzHm1+/JIaaB4pqSpCJ 36ezMNc3ELXX1/dxFaMY4z2p4gCDzWym1amhDmAC4aldB5rum2F+R9AQx8k7H0tI75 LwhOrjJlBmTDgq/V13yfy3jQNqkZMov4IgAKR6oI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1516373880; bh=g6nlRw/e1ZG7zJp5fvespuMpsjuDbplCDnFGXjGLpqY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=qsxARHN1C+Ui/0ZHHZWqmqm/aLbYZkTYWWflUKvQFGIMefKzHm1+/JIaaB4pqSpCJ 36ezMNc3ELXX1/dxFaMY4z2p4gCDzWym1amhDmAC4aldB5rum2F+R9AQx8k7H0tI75 LwhOrjJlBmTDgq/V13yfy3jQNqkZMov4IgAKR6oI= From: luc.michel@greensocs.com To: qemu-devel@nongnu.org Date: Fri, 19 Jan 2018 15:57:56 +0100 Message-Id: <20180119145756.7629-6-luc.michel@greensocs.com> X-Mailer: git-send-email 2.16.0 In-Reply-To: <20180119145756.7629-1-luc.michel@greensocs.com> References: <20180119145756.7629-1-luc.michel@greensocs.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 193.104.36.180 X-Mailman-Approved-At: Fri, 19 Jan 2018 11:42:55 -0500 Subject: [Qemu-devel] [PATCH 4/4] hw/intc/arm_gic: Fix the NS view of C_BPR when C_CTRL.CBPR is 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: "Edgar E . Iglesias" , Peter Maydell , Alistair Francis , qemu-arm@nongnu.org, Luc MICHEL Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) 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: Luc MICHEL When C_CTRL.CBPR is 1, the Non-Secure view of C_BPR is altered: - A Non-Secure read of C_BPR should return the BPR value plus 1, saturated to 7, - A Non-Secure write should be ignored. Signed-off-by: Luc MICHEL --- hw/intc/arm_gic.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c index d0a41a89ae..7418b7a082 100644 --- a/hw/intc/arm_gic.c +++ b/hw/intc/arm_gic.c @@ -1211,8 +1211,13 @@ static MemTxResult gic_cpu_read(GICState *s, int cpu= , int offset, break; case 0x08: /* Binary Point */ if (s->security_extn && !attrs.secure) { - /* BPR is banked. Non-secure copy stored in ABPR. */ - *data =3D s->abpr[cpu]; + if (s->cpu_ctlr[cpu] & GICC_CTLR_CBPR) { + /* NS view of BPR when CBPR is 1 */ + *data =3D MIN(s->bpr[cpu] + 1, 7); + } else { + /* BPR is banked. Non-secure copy stored in ABPR. */ + *data =3D s->abpr[cpu]; + } } else { *data =3D s->bpr[cpu]; } @@ -1285,7 +1290,12 @@ static MemTxResult gic_cpu_write(GICState *s, int cp= u, int offset, break; case 0x08: /* Binary Point */ if (s->security_extn && !attrs.secure) { - s->abpr[cpu] =3D MAX(value & 0x7, GIC_MIN_ABPR); + if (s->cpu_ctlr[cpu] & GICC_CTLR_CBPR) { + /* WI when CTLR is 1 */ + return MEMTX_OK; + } else { + s->abpr[cpu] =3D MAX(value & 0x7, GIC_MIN_ABPR); + } } else { s->bpr[cpu] =3D MAX(value & 0x7, GIC_MIN_BPR); } --=20 2.16.0