From patchwork Mon Jan 30 17:21:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Edgar E. Iglesias" X-Patchwork-Id: 9545767 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 977D5604A0 for ; Mon, 30 Jan 2017 17:25:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 755EA25D9E for ; Mon, 30 Jan 2017 17:25:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 68EA22811E; Mon, 30 Jan 2017 17:25:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1AB3925D9E for ; Mon, 30 Jan 2017 17:25:04 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cYFeW-0001eI-9s; Mon, 30 Jan 2017 17:22:04 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cYFeV-0001cu-0P for xen-devel@lists.xen.org; Mon, 30 Jan 2017 17:22:03 +0000 Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id 0E/BE-01392-A367F885; Mon, 30 Jan 2017 17:22:02 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIIsWRWlGSWpSXmKPExsVyMfS6o65lWX+ EwdFDBhZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8bf8x+YCp6xVlyc18zcwHiXpYuRi0NIYCKj xP/OJUwgDovASxaJk1d3MIM4EgL9rBLvrlxl7WLkAHJiJN6+8+5i5AQyqyWOPPvFDGILCahLn H63gw3Cns4k8X6eIojNJmAisffPAyYQW0RAWuLa58uMIDazgK/EzZ3HweLCAt4Sy//eBLNZBF QlHnw4wg5i8wq4Szy+tJUNYpecxM1znWC7OAU8JPa0/2OE2OUuMe/Rb5YJjAILGBlWMWoUpxa VpRbpGproJRVlpmeU5CZm5ugaGhjr5aYWFyemp+YkJhXrJefnbmIEBhYDEOxgXLHd8xCjJAeT kihv38e+CCG+pPyUyozE4oz4otKc1OJDjDIcHEoSvEql/RFCgkWp6akVaZk5wBCHSUtw8CiJ8 KaBpHmLCxJzizPTIVKnGO05erpOv2TiOHUDTH66ACT37Lr8kkmIJS8/L1VKnPdzCVCbAEhbRm ke3FBYTF5ilJUS5mUEOlOIpyC1KDezBFX+FaM4B6OSMK84yHKezLwSuN2vgM5iAjrL/VUfyFk liQgpqQbG1r2HLrYoT8vTvX+vSHBRpJddULeweOc7werr+9I2nRBc2Jf0d6fSv33ykbffHeA6 f3XnE7WTKW4lsVMnPWjS416Vk7e7MVlH8ddJ/ddtYaei3e50mipd+RhxXVz65/JFu64E8cs2c ayOlSu8y16ucEmYQ//k/zmfzydZuF507g7+/tqZSdpEiaU4I9FQi7moOBEA5lS3d8QCAAA= X-Env-Sender: edgar.iglesias@gmail.com X-Msg-Ref: server-13.tower-31.messagelabs.com!1485796921!82447411!1 X-Originating-IP: [209.85.215.65] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.1.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 19533 invoked from network); 30 Jan 2017 17:22:01 -0000 Received: from mail-lf0-f65.google.com (HELO mail-lf0-f65.google.com) (209.85.215.65) by server-13.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 30 Jan 2017 17:22:01 -0000 Received: by mail-lf0-f65.google.com with SMTP id h65so31798101lfi.3 for ; Mon, 30 Jan 2017 09:22:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CN4418tTZz6PeO+W18FEonsErYdZqjD3NncUWeANhhU=; b=e/6XYHeEIGEJv3DP7ixhElx7W3s+BbhlHaXzy7yyDEBc1LzajUWtlzwn4Te9smV4yi tLxcwK2REBe5V5BXqUlnG9V0uBDnGNRITclzFsE55H+1I5ppMGDBlUtfUxQ1WTRp4Q49 tHO93JpEtNCUkXQ6bsv/3AI/yBChd/l5IMKLtfBMSJcfH+9oTqVCZ6tTh3LOzLtpdQZe 7/jwFqsFgbBv/us34I1h8A5Veed9EV4qYgDL2ZK5Z23PmVwRrKvnyXjR7WuTHYZGRnsq uR7WqFajMz7fUivaRM9JycBjc2tOL66hJ9j5DqerBgMATqPq2GXgkfPJye4/boUXnozC djfw== 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; bh=CN4418tTZz6PeO+W18FEonsErYdZqjD3NncUWeANhhU=; b=tqZ/PrMJ/J9FYNRjFZRlcUMz7mE3qmJE6hatB9LvwiJ90NPLAaauCI/Y709g2nv+Uv zDecqBwoeVK/d52r9QEl2+GdXQE8f62T0vHpZRmJqEPLQCS1yHKzOXpLHElM1V/DU4Fd zGk47y9tl5OXQR79UlTQ0YQs/Z5zq34ku6h4ZOWJIrkstG08AJ1GrF1GPsywOpX+pYCG 0RVFpMabuhs2bcvs/kT8U9b2LX+1V90xVP9PpcKxf+rRpN3/0glWEYxIMYwVJRLLQwzF nsK2B4qNXFbaMHsVtk6IO8qkvfQAruUz5LVnjrQ1+cD1GLR2szMthfwUPy3/KCw8z0PC /V/w== X-Gm-Message-State: AIkVDXJOtt6sHbAyYG0HNGtazLT9o8Wix69YHMmMI7UEOZKKYUBWRd952A38gdeewFyl/Q== X-Received: by 10.25.206.145 with SMTP id e139mr7983773lfg.168.1485796920876; Mon, 30 Jan 2017 09:22:00 -0800 (PST) Received: from localhost (81-231-233-234-no56.tbcn.telia.com. [81.231.233.234]) by smtp.gmail.com with ESMTPSA id g38sm3858803lfi.3.2017.01.30.09.22.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Jan 2017 09:22:00 -0800 (PST) From: "Edgar E. Iglesias" To: xen-devel@lists.xen.org Date: Mon, 30 Jan 2017 18:21:52 +0100 Message-Id: <1485796915-9372-4-git-send-email-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1485796915-9372-1-git-send-email-edgar.iglesias@gmail.com> References: <1485796915-9372-1-git-send-email-edgar.iglesias@gmail.com> Cc: edgar.iglesias@xilinx.com, julien.grall@arm.com, sstabellini@kernel.org Subject: [Xen-devel] [RFC v1 3/6] xen/arm: Allow platform_hvc to handle guest SMC calls 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" X-Virus-Scanned: ClamAV using ClamSMTP From: "Edgar E. Iglesias" Allow platform_hvc to handle guest SMC calls (as well as HVC calls) in a platform specific way. Signed-off-by: Edgar E. Iglesias --- xen/arch/arm/traps.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index e8cd111..1925122 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -2622,6 +2622,9 @@ static void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr) if ( current->domain->arch.monitor.privileged_call_enabled ) rc = monitor_smc(); + if ( platform_hvc(regs) ) + rc = 1; + if ( rc != 1 ) inject_undef_exception(regs, hsr); }