From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 2/6] xen/arm: introduce vgic_rank_irq Date: Wed, 11 Jun 2014 17:27:08 +0100 Message-ID: <1402504032-13267-2-git-send-email-stefano.stabellini@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: julien.grall@citrix.com, Ian.Campbell@citrix.com, Stefano Stabellini List-Id: xen-devel@lists.xenproject.org Introduce vgic_rank_irq: a new helper function that gives you the struct vgic_irq_rank corresponding to a given irq number. Use it in vgic_vcpu_inject_irq. Signed-off-by: Stefano Stabellini --- xen/arch/arm/vgic.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index f8cb3d5..757707e 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -73,6 +73,11 @@ static struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n) return NULL; } +static struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq) +{ + return vgic_rank_offset(v, 8, irq >> 2); +} + int domain_vgic_init(struct domain *d) { int i; @@ -720,7 +725,7 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq) { int idx = irq >> 2, byte = irq & 0x3; uint8_t priority; - struct vgic_irq_rank *rank = vgic_rank_offset(v, 8, idx); + struct vgic_irq_rank *rank = vgic_rank_irq(v, irq); struct pending_irq *iter, *n = irq_to_pending(v, irq); unsigned long flags; bool_t running; -- 1.7.10.4