From nobody Sat May 18 23:55:20 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1579617554; cv=none; d=zohomail.com; s=zohoarc; b=e+DElxLukiUa8FM7hYBoCXOBe1KcSJ6XsNqzxbktZOREt+DaXlDUflwXXXcVh57yniADM5zKvMoU5obnXh7uOAqZNmOSRrdwFeavNXmPm5vcPzkiy9N9j0ywDV7npvW0WWLw3Zk8/d93w8YqaM8F/IS8DhLBZ+YTjpo87J7kBg0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579617554; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=JK5GLJ4MOmYtuUcFzH1vF1ZLq/F9KHUpI0hO77GQbLU=; b=e2FzA9t7BuKbm0a6u7MKIiz9tbC4JhA6BhmwQL8shMVMVwUGW5XATU2mv6zWi2Ch0IZk8okWZNA8ETkJrY+4emNJeuhUrvfNGe+BKkz6qrdh9QeIBSZivKyhwqKH7g381QBcONTPCXaJjHiEOrzN8BwMZZPMqoWUYaUGTuPGs1k= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1579617554795385.6629610460675; Tue, 21 Jan 2020 06:39:14 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1itufP-0003Xg-U6; Tue, 21 Jan 2020 14:38:07 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1itufO-0003Xb-Hq for xen-devel@lists.xenproject.org; Tue, 21 Jan 2020 14:38:06 +0000 Received: from webmail.dornerworks.com (unknown [12.207.209.150]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 9cdc9c3e-3c5b-11ea-aecd-bc764e2007e4; Tue, 21 Jan 2020 14:37:57 +0000 (UTC) X-Inumbo-ID: 9cdc9c3e-3c5b-11ea-aecd-bc764e2007e4 From: Jeff Kubascik To: Date: Tue, 21 Jan 2020 09:39:26 -0500 Message-ID: <20200121143926.125116-1-jeff.kubascik@dornerworks.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Originating-IP: [172.27.13.179] X-ClientProxiedBy: Mcbain.dw.local (172.27.1.45) To Mcbain.dw.local (172.27.1.45) X-spam-status: No, score=-2.9 required=3.5 tests=ALL_TRUSTED, BAYES_00, MAILSHELL_SCORE_10_69 X-Spam-Flag: NO Subject: [Xen-devel] [PATCH] xen/arm: Implement GICD_IGRPMODR as RAZ/WI for VGICv3 X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Volodymyr Babchuk , Stefano Stabellini , Julien Grall Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" The VGICv3 module does not implement security extensions for guests. Furthermore, per the ARM Generic Interrupt Controller Architecture Specification (ARM IHI 0069E), section 9.9.15, the GICD_IGRPMODR register should be RAZ/WI to non-secure accesses when GICD_CTLR.DS =3D 0. This implements the GICD_IGRPMODR register for guest VMs as RAZ/WI, to avoid a data abort in the case the guest attempts to read or write the register. Signed-off-by: Jeff Kubascik --- xen/arch/arm/vgic-v3.c | 8 ++++++++ xen/include/asm-arm/gic_v3_defs.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index 422b94f902..c4305d25e3 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -1193,6 +1193,10 @@ static int vgic_v3_distr_mmio_read(struct vcpu *v, m= mio_info_t *info, */ return __vgic_v3_distr_common_mmio_read("vGICD", v, info, gicd_reg= , r); =20 + case VRANGE32(GICD_IGRPMODR, GICD_IGRPMODRN): + /* We do not implement security extensions for guests, read zero */ + goto read_as_zero_32; + case VRANGE32(GICD_NSACR, GICD_NSACRN): /* We do not implement security extensions for guests, read zero */ goto read_as_zero_32; @@ -1379,6 +1383,10 @@ static int vgic_v3_distr_mmio_write(struct vcpu *v, = mmio_info_t *info, return __vgic_v3_distr_common_mmio_write("vGICD", v, info, gicd_reg, r); =20 + case VRANGE32(GICD_IGRPMODR, GICD_IGRPMODRN): + /* We do not implement security extensions for guests, write ignor= e */ + goto write_ignore_32; + case VRANGE32(GICD_NSACR, GICD_NSACRN): /* We do not implement security extensions for guests, write ignor= e */ goto write_ignore_32; diff --git a/xen/include/asm-arm/gic_v3_defs.h b/xen/include/asm-arm/gic_v3= _defs.h index 5a578e7c11..42c1b3465c 100644 --- a/xen/include/asm-arm/gic_v3_defs.h +++ b/xen/include/asm-arm/gic_v3_defs.h @@ -30,6 +30,8 @@ #define GICD_CLRSPI_NSR (0x048) #define GICD_SETSPI_SR (0x050) #define GICD_CLRSPI_SR (0x058) +#define GICD_IGRPMODR (0xD00) +#define GICD_IGRPMODRN (0xD7C) #define GICD_IROUTER (0x6000) #define GICD_IROUTER32 (0x6100) #define GICD_IROUTER1019 (0x7FD8) --=20 2.17.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel