From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [PATCH v4 03/16] xen/arm: make sgi handling generic Date: Mon, 26 May 2014 15:56:36 +0530 Message-ID: <1401100009-7326-4-git-send-email-vijay.kilari@gmail.com> References: <1401100009-7326-1-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1401100009-7326-1-git-send-email-vijay.kilari@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian.Campbell@citrix.com, julien.grall@linaro.org, stefano.stabellini@eu.citrix.com, stefano.stabellini@citrix.com, xen-devel@lists.xen.org Cc: Prasun.Kapoor@caviumnetworks.com, Vijaya Kumar K , vijay.kilari@gmail.com List-Id: xen-devel@lists.xenproject.org From: Vijaya Kumar K move all the hw specific sgi handling functionality to one function and use it. Signed-off-by: Vijaya Kumar K --- xen/arch/arm/gic.c | 37 ++++++++++++++++++++++++++++--------- xen/include/asm-arm/gic.h | 8 ++++++++ 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index efcd785..f8e49df 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -483,21 +483,40 @@ void __init gic_init(void) spin_unlock(&gic.lock); } -void send_SGI_mask(const cpumask_t *cpumask, enum gic_sgi sgi) +static void send_SGI(const cpumask_t *cpu_mask, enum gic_sgi sgi, + uint8_t irqmode) { unsigned int mask = 0; + + switch ( irqmode ) + { + case SGI_TARGET_OTHERS: + GICD[GICD_SGIR] = GICD_SGI_TARGET_OTHERS | sgi; + break; + case SGI_TARGET_SELF: + GICD[GICD_SGIR] = GICD_SGI_TARGET_SELF | sgi; + break; + case SGI_TARGET_LIST: + mask = gic_cpu_mask(cpu_mask); + GICD[GICD_SGIR] = GICD_SGI_TARGET_LIST | + (mask<