From patchwork Thu May 11 17:53:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 9722657 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 67B2D60387 for ; Thu, 11 May 2017 17:54:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67F58286D9 for ; Thu, 11 May 2017 17:54:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5CE0F286E7; Thu, 11 May 2017 17:54:00 +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=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED 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 BB1C3286E5 for ; Thu, 11 May 2017 17:53:59 +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 1d8sFb-0000UX-KL; Thu, 11 May 2017 17:51:43 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d8sFa-0000SD-Ka for xen-devel@lists.xenproject.org; Thu, 11 May 2017 17:51:42 +0000 Received: from [193.109.254.147] by server-10.bemta-6.messagelabs.com id AD/68-03613-EA4A4195; Thu, 11 May 2017 17:51:42 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBLMWRWlGSWpSXmKPExsVysyfVTXf1EpF IgzvTRC2+b5nM5MDocfjDFZYAxijWzLyk/IoE1ox9yw4wF2zjq7jwfx5rA+MGni5GLg4hgc2M Ek2vLjBDOMsZJTbcv8nexcjJwSagK7Hj5mtmEFtEIFTi6YLvYEXMAmsYJc4t+skGkhAW8JU49 ugwC4jNIqAq8XrGVbA4r4C1xPHdPxlBbAkBOYmG8/fBBnECxZdMnwVWLyRgJbFr92nWCYzcCx gZVjFqFKcWlaUW6Rob6iUVZaZnlOQmZuboGhqY6eWmFhcnpqfmJCYV6yXn525iBPqYAQh2MDY tCjzEKMnBpCTKyzhRJFKILyk/pTIjsTgjvqg0J7X4EKMMB4eSBG/kYqCcYFFqempFWmYOMNhg 0hIcPEoivEtA0rzFBYm5xZnpEKlTjIpS4rztIAkBkERGaR5cGyzALzHKSgnzMgIdIsRTkFqUm 1mCKv+KUZyDUUmYdyfIFJ7MvBK46a+AFjMBLe7/IwyyuCQRISXVwHjiz4br5zdGL+Z/c9p0yS bPgkvZ57it7geodxoWrcqfb+V6feXlzXFpMyxTb29tYt35477zMp+7D/Z/T16/hWl1WqjgkUn 6sVsXa2fvtv/Z6OPaYV1lKuNr2/Gp1DNEzaEp6bqy4kaD648XLdG3ON7MHZifHR9Xdapl/SKh w8fUonZeqZ4suVaJpTgj0VCLuag4EQA/WF7QawIAAA== X-Env-Sender: andre.przywara@arm.com X-Msg-Ref: server-8.tower-27.messagelabs.com!1494525098!91388355!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.4.12; banners=-,-,- X-VirusChecked: Checked Received: (qmail 40747 invoked from network); 11 May 2017 17:51:39 -0000 Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by server-8.tower-27.messagelabs.com with SMTP; 11 May 2017 17:51:39 -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 9DA591715; Thu, 11 May 2017 10:51:38 -0700 (PDT) Received: from e104803-lin.lan (unknown [10.1.207.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 78C4B3F4FF; Thu, 11 May 2017 10:51:37 -0700 (PDT) From: Andre Przywara To: Julien Grall , Stefano Stabellini Date: Thu, 11 May 2017 18:53:22 +0100 Message-Id: <20170511175340.8448-11-andre.przywara@arm.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170511175340.8448-1-andre.przywara@arm.com> References: <20170511175340.8448-1-andre.przywara@arm.com> Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni Subject: [Xen-devel] [PATCH v9 10/28] ARM: GIC: export and extend vgic_init_pending_irq() 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 For LPIs we later want to dynamically allocate struct pending_irqs. So beside needing to initialize the struct from there we also need to clean it up and re-initialize it later on. Export vgic_init_pending_irq() and extend it to be reusable. Signed-off-by: Andre Przywara --- xen/arch/arm/vgic.c | 4 +++- xen/include/asm-arm/vgic.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index 66adeb4..27d6b51 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -61,11 +61,13 @@ struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq) return vgic_get_rank(v, rank); } -static void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq) +void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq) { INIT_LIST_HEAD(&p->inflight); INIT_LIST_HEAD(&p->lr_queue); p->irq = virq; + p->status = 0; + p->lr = GIC_INVALID_LR; } static void vgic_rank_init(struct vgic_irq_rank *rank, uint8_t index, diff --git a/xen/include/asm-arm/vgic.h b/xen/include/asm-arm/vgic.h index 6b17802..e2111a5 100644 --- a/xen/include/asm-arm/vgic.h +++ b/xen/include/asm-arm/vgic.h @@ -302,6 +302,7 @@ extern struct vcpu *vgic_get_target_vcpu(struct vcpu *v, unsigned int virq); extern void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int virq); extern void vgic_vcpu_inject_spi(struct domain *d, unsigned int virq); extern void vgic_clear_pending_irqs(struct vcpu *v); +extern void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq); extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq); extern struct pending_irq *spi_to_pending(struct domain *d, unsigned int irq); extern struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n, int s);