From patchwork Tue Feb 7 19:42:02 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: 9560959 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 82F8A6047A for ; Tue, 7 Feb 2017 19:44:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 765E628446 for ; Tue, 7 Feb 2017 19:44:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6B47C28485; Tue, 7 Feb 2017 19:44:18 +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 240BC28446 for ; Tue, 7 Feb 2017 19:44:18 +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 1cbBeZ-0002Ow-4u; Tue, 07 Feb 2017 19:42:15 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbBeX-0002NH-7c for xen-devel@lists.xen.org; Tue, 07 Feb 2017 19:42:13 +0000 Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id 0B/8E-01711-4132A985; Tue, 07 Feb 2017 19:42:12 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrEIsWRWlGSWpSXmKPExsVyMfS6s66I8qw Ig/aLXBZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa0bXv7ssBZPYKo7e2sfWwPiTpYuRi0NIYAKj xK2bZ8EcFoGXLBIfL11mB3EkBPpZJe53H2PqYuQEcmIkGuY+YYOwqyRO/d/PAmILCahLnH63g w1i1AwmiaZbu8GK2ARMJPb+eQDWLCIgLXHt82VGEJtZwFfi5s7jYHFhAW+JnYvWgw1iEVCVON B/AKyGV8BD4sHd18wQy+Qkbp7rBLM5BTwlviyfCLXYQ2L+ylWMExgFFjAyrGJUL04tKkst0jX VSyrKTM8oyU3MzNE1NDDVy00tLk5MT81JTCrWS87P3cQIDC0GINjB+KXf+RCjJAeTkihvpcCs CCG+pPyUyozE4oz4otKc1OJDjDIcHEoSvE8UgXKCRanpqRVpmTnAIIdJS3DwKInwSikBpXmLC xJzizPTIVKnGO05erpOv2TiOHUDTH66ACT37Lr8kkmIJS8/L1VKnPcyyFQBkLaM0jy4obCovM QoKyXMywh0phBPQWpRbmYJqvwrRnEORiVh3kMgU3gy80rgdr8COosJ6KxtV6aBnFWSiJCSamC s/bHdUP/M+9pb1542WxXnp/T8eiFmXJfkV6A747R09YTNjHd2iHO5GSrc22F6JeyHt2zsfebZ fgt+qXt4drVycORdMF3d7OKz20eTZ8bsBsvZh9fWKSvdib+mdVW3YUlD2pzo10euNPZPP+NzK a9Ms04rg+vSnLw3S2c3/L5SeODwxV1b9qxUYinOSDTUYi4qTgQAD1oWk8UCAAA= X-Env-Sender: edgar.iglesias@gmail.com X-Msg-Ref: server-7.tower-206.messagelabs.com!1486496531!83601227!1 X-Originating-IP: [209.85.215.67] 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 28130 invoked from network); 7 Feb 2017 19:42:12 -0000 Received: from mail-lf0-f67.google.com (HELO mail-lf0-f67.google.com) (209.85.215.67) by server-7.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 7 Feb 2017 19:42:12 -0000 Received: by mail-lf0-f67.google.com with SMTP id h65so7526132lfi.3 for ; Tue, 07 Feb 2017 11:42:12 -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=hCfmw4qZI7mWb7SHOJz4OzJvs1NwQ9QAFhhvX3NeDAs=; b=qcB8jOOlZW/sgey1hoNESZPdzbI/AbOPqDxv9i2OFy5depCHH29BJHdt2J0jGIRXB0 7naTM8T5yekovtwrL0PXnmPw1V+sgrCir89+7YcIuAGrgdxmjpkU9Zo4Wd3wey9mTvRf 67rxzRE5zBZ4ZB0Gk1ZSUXIz9IA9QQW9corODog6RfDmDGC3jYES6++RQqiYHDkN4My0 kcmuKpiy2aRv7HnCEhmyPrd3YCdlCMhxUc3c59sBY1wpyQRNxwuwasEAUu34dXnnTkog b9w8qmNsHwBz3h8X2ag3m1Q9Vx8kABuyIw1qO0200SWUBFSKw/yabvcdJx6ch8wSKifa B9uw== 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=hCfmw4qZI7mWb7SHOJz4OzJvs1NwQ9QAFhhvX3NeDAs=; b=RjxjO9jxyEgEeUE1/uHAamjp7JpGkPgo2DvZNSLvr/mmc/RDacx26U32hGlcto1xxc zNcP2MKCscj1Jss0yN9JZGaMrCVGkthsP6UA+OPBn2iXDeITrwMCXzbKITarycslUbwy NkIcRnh1LKIJy5NkY5uwSkvyarosIdai0JDJ60vRDYot9kHB1Wln5KIOECRqTjoUaPmP 4ZxuPd95X33t44yPuXUCiRmT8LSA3OY1HUhMGM7HwZ5890lcetmyAyVLQ7tE5YzmwvrE JdGeTEdXmkuwWgvlLeiPe1Wf+7qw2+AEN7SH3XoEUfnbq7LBh8LhUQciLiXhQfiXL7wi zElQ== X-Gm-Message-State: AIkVDXJL/tcZ+/O8OPsUHVGOe4xsW3X4vvOJEDz/tyNMB/R5+EAlrjiVOTALAcS51myztg== X-Received: by 10.25.212.141 with SMTP id l135mr5220628lfg.48.1486496531577; Tue, 07 Feb 2017 11:42:11 -0800 (PST) Received: from localhost (81-231-233-234-no56.tbcn.telia.com. [81.231.233.234]) by smtp.gmail.com with ESMTPSA id c65sm1631447ljd.44.2017.02.07.11.42.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Feb 2017 11:42:10 -0800 (PST) From: "Edgar E. Iglesias" To: xen-devel@lists.xen.org Date: Tue, 7 Feb 2017 20:42:02 +0100 Message-Id: <1486496525-14637-4-git-send-email-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1486496525-14637-1-git-send-email-edgar.iglesias@gmail.com> References: <1486496525-14637-1-git-send-email-edgar.iglesias@gmail.com> Cc: edgar.iglesias@xilinx.com, julien.grall@arm.com, sstabellini@kernel.org Subject: [Xen-devel] [RFC v2 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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index 33950d9..1bedc6e 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -2623,6 +2623,11 @@ 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) ) { + advance_pc(regs, hsr); + rc = 1; + } + if ( rc != 1 ) inject_undef_exception(regs, hsr); }