From patchwork Wed Dec 7 12:33:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 87092 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp291093qgi; Wed, 7 Dec 2016 04:36:09 -0800 (PST) X-Received: by 10.36.211.72 with SMTP id n69mr1940592itg.61.1481114169103; Wed, 07 Dec 2016 04:36:09 -0800 (PST) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id o128si5840027itc.17.2016.12.07.04.36.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Dec 2016 04:36:09 -0800 (PST) Received-SPF: neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) smtp.mailfrom=xen-devel-bounces@lists.xen.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEbQI-00068p-B7; Wed, 07 Dec 2016 12:34:10 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEbQG-00068E-Vu for xen-devel@lists.xen.org; Wed, 07 Dec 2016 12:34:09 +0000 Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id 71/BB-22514-0C108485; Wed, 07 Dec 2016 12:34:08 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRWlGSWpSXmKPExsVysyfVTXc/o0e Ewa8JehZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8aENRYFjbwVu7bdZWlg/MHZxcjJISSwmVHi 2Dt/CPs0o8SlKeogNpuApsSdz5+YQGwRAWmJa58vM4LYzAIOEm8+3mMBsYUFnCVOXf/IBmKzC KhKPGg8AFbDK+Ai0brrOliNhICcxMljk1lBbE4BV4lbX/+yQOxykfjatIxlAiP3AkaGVYwaxa lFZalFukbGeklFmekZJbmJmTm6hgamermpxcWJ6ak5iUnFesn5uZsYgb6tZ2Bg3MG4o93vEKM kB5OSKO+uCe4RQnxJ+SmVGYnFGfFFpTmpxYcYZTg4lCR4eRg8IoQEi1LTUyvSMnOAQQaTluDg URLh3fcfqJW3uCAxtzgzHSJ1ilFRSpxXHKRPACSRUZoH1wYL7EuMslLCvIwMDAxCPAWpRbmZJ ajyrxjFORiVhHm5QKbwZOaVwE1/BbSYCWjxvBtgi0sSEVJSDYwhOy3blP/tvNdzxXpjf36ajk Gb8Qrth6/PZ+f2zVazeGn3LvdR+p6tPrPemOe6MvtNXKq76aLuZvHodaxGBRuWqK+2a65Ztzg hcu081+jjFUudrKMfHXPXmMHnuabc9Y7g5v/SlqXfPnyVunlSd/LSnjbD7Bgp62fLG690W2lI qW3feVmaiU+JpTgj0VCLuag4EQDqkUMAZwIAAA== X-Env-Sender: julien.grall@arm.com X-Msg-Ref: server-4.tower-206.messagelabs.com!1481114046!74322811!1 X-Originating-IP: [217.140.101.70] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.0.16; banners=-,-,- X-VirusChecked: Checked Received: (qmail 31777 invoked from network); 7 Dec 2016 12:34:06 -0000 Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by server-4.tower-206.messagelabs.com with SMTP; 7 Dec 2016 12:34:06 -0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CBC78152D; Wed, 7 Dec 2016 04:34:06 -0800 (PST) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.218.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3A4293F477; Wed, 7 Dec 2016 04:34:06 -0800 (PST) From: Julien Grall To: xen-devel@lists.xen.org Date: Wed, 7 Dec 2016 12:33:47 +0000 Message-Id: <1481114033-11024-8-git-send-email-julien.grall@arm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1481114033-11024-1-git-send-email-julien.grall@arm.com> References: <1481114033-11024-1-git-send-email-julien.grall@arm.com> Cc: Julien Grall , sstabellini@kernel.org Subject: [Xen-devel] [PATCH 07/13] xen/arm: vgic: Clean-up the sysreg emulation X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" Couple of clean-up for the vgic sysreg emulation: - Reference the public documentation rather than a non-public one - Let the vgic emulation decides whether a register needs to be emulated - Drop unnecessary debug printk. They don't bring much information and can be misleading (vGICv2 does not support thoses registers) Signed-off-by: Julien Grall Reviewed-by: Stefano Stabellini --- xen/arch/arm/traps.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index fb07ae1..1fe02cb 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -2261,23 +2261,15 @@ static void do_sysreg(struct cpu_user_regs *regs, /* * HCR_EL2.FMO or HCR_EL2.IMO * - * ARMv8: GIC Architecture Specification (PRD03-GENC-010745 24.0) - * Section 4.6.8. + * GIC Architecture Specification (IHI 0069C): Section 4.6.3 */ case HSR_SYSREG_ICC_SGI1R_EL1: + case HSR_SYSREG_ICC_ASGI1R_EL1: + case HSR_SYSREG_ICC_SGI0R_EL1: + if ( !vgic_emulate(regs, hsr) ) - { - dprintk(XENLOG_WARNING, - "failed emulation of sysreg ICC_SGI1R_EL1 access\n"); return inject_undef64_exception(regs, hsr.len); - } break; - case HSR_SYSREG_ICC_SGI0R_EL1: - case HSR_SYSREG_ICC_ASGI1R_EL1: - /* TBD: Implement to support secure grp0/1 SGI forwarding */ - dprintk(XENLOG_WARNING, - "Emulation of sysreg ICC_SGI0R_EL1/ASGI1R_EL1 not supported\n"); - return inject_undef64_exception(regs, hsr.len); /* * ICC_SRE_EL2.Enable = 0