From patchwork Thu Jul 31 15:00:35 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 34656 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wg0-f72.google.com (mail-wg0-f72.google.com [74.125.82.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 86E4320540 for ; Thu, 31 Jul 2014 15:02:24 +0000 (UTC) Received: by mail-wg0-f72.google.com with SMTP id b13sf1880785wgh.7 for ; Thu, 31 Jul 2014 08:02:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:cc:subject:precedence:list-id:list-unsubscribe:list-post :list-help:list-subscribe:mime-version:sender:errors-to :x-original-sender:x-original-authentication-results:mailing-list :list-archive:content-type:content-transfer-encoding; bh=gu1FjsVgUk8jg7IbEGFKRP5B13YfBaTMtcepocLSQq4=; b=doRp6vZIiiTV/ZSS7nhDipim5Cz5shLHI29Ul6LbQa5TGkgxiPMDCtv22JaL07KdJ3 u9Y/j4nAgIWsH9aOcQKXJ1OPavZfyDtDyOvTyt3pRKRV85SoaFnF0yNdcsugwPkFS3gq CxT9onOGATA9vPzlhcuyGxkld3FWjmEket/PdZ4S7erHCxHirmP2N5N93XgWwoRWN8jT MlFDwA4bYxxJaZjmlHxNb2dbx2zqTnkCmnxojJp9TC3agzCO1ZEqXrXavCrrL+2F3MCG OW6lwbNbh2lt2K5fUAZQvy0S+L7QBFzQQG783y2HnL1xp1NZrcssKmEV7O6N65+sm6K1 PhHQ== X-Gm-Message-State: ALoCoQkiiOgHGh99JPSmdHaz0R6ajDGfL4E84QD3iPPmTRxKDdLqyvRIyDYYtF+X2o6U2HSzyAOi X-Received: by 10.152.9.169 with SMTP id a9mr1200059lab.1.1406818940870; Thu, 31 Jul 2014 08:02:20 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.81.169 with SMTP id f38ls1005332qgd.24.gmail; Thu, 31 Jul 2014 08:02:20 -0700 (PDT) X-Received: by 10.220.131.207 with SMTP id y15mr3009521vcs.71.1406818940314; Thu, 31 Jul 2014 08:02:20 -0700 (PDT) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx.google.com with ESMTPS id 7si4623423vcu.41.2014.07.31.08.02.20 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 31 Jul 2014 08:02:20 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.182 as permitted sender) client-ip=209.85.220.182; Received: by mail-vc0-f182.google.com with SMTP id hy4so4393560vcb.41 for ; Thu, 31 Jul 2014 08:02:20 -0700 (PDT) X-Received: by 10.221.47.9 with SMTP id uq9mr13493230vcb.48.1406818939586; Thu, 31 Jul 2014 08:02:19 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.37.5 with SMTP id tc5csp25061vcb; Thu, 31 Jul 2014 08:02:19 -0700 (PDT) X-Received: by 10.42.249.20 with SMTP id mi20mr16168509icb.90.1406818938941; Thu, 31 Jul 2014 08:02:18 -0700 (PDT) Received: from lists.xen.org (lists.xen.org. [50.57.142.19]) by mx.google.com with ESMTPS id z6si14905429icc.25.2014.07.31.08.02.18 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 31 Jul 2014 08:02:18 -0700 (PDT) Received-SPF: none (google.com: xen-devel-bounces@lists.xen.org does not designate permitted sender hosts) client-ip=50.57.142.19; Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XCrqu-0000Vg-Ka; Thu, 31 Jul 2014 15:01:08 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XCrqt-0000Ug-Tw for xen-devel@lists.xenproject.org; Thu, 31 Jul 2014 15:01:08 +0000 Received: from [85.158.139.211:9774] by server-12.bemta-5.messagelabs.com id F9/4B-22251-33A5AD35; Thu, 31 Jul 2014 15:01:07 +0000 X-Env-Sender: julien.grall@linaro.org X-Msg-Ref: server-3.tower-206.messagelabs.com!1406818866!3553802!1 X-Originating-IP: [74.125.82.169] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 6.11.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 29898 invoked from network); 31 Jul 2014 15:01:06 -0000 Received: from mail-we0-f169.google.com (HELO mail-we0-f169.google.com) (74.125.82.169) by server-3.tower-206.messagelabs.com with RC4-SHA encrypted SMTP; 31 Jul 2014 15:01:06 -0000 Received: by mail-we0-f169.google.com with SMTP id u56so2911079wes.0 for ; Thu, 31 Jul 2014 08:01:06 -0700 (PDT) X-Received: by 10.194.104.72 with SMTP id gc8mr17156979wjb.105.1406818865460; Thu, 31 Jul 2014 08:01:05 -0700 (PDT) Received: from belegaer.uk.xensource.com ([185.25.64.249]) by mx.google.com with ESMTPSA id r20sm67128337wik.0.2014.07.31.08.01.04 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 Jul 2014 08:01:04 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Thu, 31 Jul 2014 16:00:35 +0100 Message-Id: <1406818852-31856-5-git-send-email-julien.grall@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1406818852-31856-1-git-send-email-julien.grall@linaro.org> References: <1406818852-31856-1-git-send-email-julien.grall@linaro.org> Cc: stefano.stabellini@citrix.com, Julien Grall , tim@xen.org, ian.campbell@citrix.com Subject: [Xen-devel] [PATCH v2 04/21] xen/arm: vgic: Introduce a function to initialize pending_irq X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: julien.grall@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.182 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Archive: The structure pending_irq is initialized on the same way in 2 differents place. Introduce vgic_init_pending_irq to avoid code duplication. Also move the setting of the irq field in this function as we need to initialize it once rather than every time an IRQ is injected to the guest. Signed-off-by: Julien Grall Acked-by: Stefano Stabellini --- Changes in v2: - Patch added --- xen/arch/arm/vgic.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index ac34437..17cde7a 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -53,6 +53,13 @@ struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq) return vgic_rank_offset(v, 8, irq, DABT_WORD); } +static void vgic_init_pending_irq(struct pending_irq *p, unsigned virq) +{ + INIT_LIST_HEAD(&p->inflight); + INIT_LIST_HEAD(&p->lr_queue); + p->irq = virq; +} + int domain_vgic_init(struct domain *d) { int i; @@ -88,10 +95,8 @@ int domain_vgic_init(struct domain *d) } for (i=0; iarch.vgic.nr_spis; i++) - { - INIT_LIST_HEAD(&d->arch.vgic.pending_irqs[i].inflight); - INIT_LIST_HEAD(&d->arch.vgic.pending_irqs[i].lr_queue); - } + vgic_init_pending_irq(&d->arch.vgic.pending_irqs[i], i + 32); + for (i=0; iarch.vgic.shared_irqs[i].lock); @@ -131,10 +136,7 @@ int vcpu_vgic_init(struct vcpu *v) memset(&v->arch.vgic.pending_irqs, 0, sizeof(v->arch.vgic.pending_irqs)); for (i = 0; i < 32; i++) - { - INIT_LIST_HEAD(&v->arch.vgic.pending_irqs[i].inflight); - INIT_LIST_HEAD(&v->arch.vgic.pending_irqs[i].lr_queue); - } + vgic_init_pending_irq(&v->arch.vgic.pending_irqs[i], i); INIT_LIST_HEAD(&v->arch.vgic.inflight_irqs); INIT_LIST_HEAD(&v->arch.vgic.lr_pending); @@ -386,7 +388,6 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq) goto out; } - n->irq = irq; n->priority = priority; /* the irq is enabled */