All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: xen-devel@lists.xensource.com, xen-ia64-devel@lists.xensource.com
Subject: Re: [PATCH] xen: make events.c compile for ia64.
Date: Tue, 07 Oct 2008 08:10:44 -0700	[thread overview]
Message-ID: <48EB7BF4.9060604@goop.org> (raw)
In-Reply-To: <20081007022519.GD31420%yamahata@valinux.co.jp>

Isaku Yamahata wrote:
> This patch is for the pv_ops patch queue repository. 
> Later more generalization to events.c would be necessary because
> it assumes x86. For example, LEGACY_IRQS doesn't make sense for ia64.
> Since those bits are for dom0 support and pv_ops xen/ia64 doesn't
> support dom0 yet, I made it just compile for ia64 for now.
>   

Yeah, I'd assumed you'd define LEGACY_IRQS to 0.

> xen: make events.c compile for ia64.
>
> xen_do_irq() is x86 specific because it calls
> exit_idle(), handle_irq().
> Move it to arch specific file for ia64 support.
>
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
>
> diff -r 4f7cc06552f8 drivers/xen/events.c
> --- a/drivers/xen/events.c	Mon Oct 06 15:24:22 2008 +0900
> +++ b/drivers/xen/events.c	Mon Oct 06 16:02:56 2008 +0900
> @@ -29,7 +29,6 @@
>  
>  #include <asm/ptrace.h>
>  #include <asm/irq.h>
> -#include <asm/idle.h>
>  #include <asm/sync_bitops.h>
>  #include <asm/xen/hypercall.h>
>  #include <asm/xen/hypervisor.h>
> @@ -814,33 +813,6 @@
>  	return IRQ_HANDLED;
>  }
>  
> -
> -static void xen_do_irq(unsigned irq, struct pt_regs *regs)
>   

I was hoping this would be generic enough to work on ia64, if you define 
an appropriate handle_irq() (and exit_idle, I guess).  Is there 
something else you need to do here?

> -{
> -	struct pt_regs *old_regs = set_irq_regs(regs);
> -
> -	if (WARN_ON(irq == -1))
> -		return;
> -
> -	{
> -		struct irq_info *info = info_for_irq(irq);
> -
> -		if (info->type == IRQT_PIRQ)
> -			printk("xen_do_irq: pirq %d, gsi %d, vector %d\n",
> -				irq, info->u.pirq.gsi, info->u.pirq.vector);
> -	}
> -
> -	exit_idle();
> -	irq_enter();
> -
> -	//printk("cpu %d handling irq %d\n", smp_processor_id(), info->irq);
> -	handle_irq(irq, regs);
> -
> -	irq_exit();
> -
> -	set_irq_regs(old_regs);
> -}
> -
>  /*
>   * Search the CPUs pending events bitmasks.  For each one found, map
>   * the event number to an irq, and feed it into do_IRQ() for
> diff -r 4f7cc06552f8 include/asm-x86/xen/events.h
> --- a/include/asm-x86/xen/events.h	Mon Oct 06 15:24:22 2008 +0900
> +++ b/include/asm-x86/xen/events.h	Mon Oct 06 16:02:56 2008 +0900
> @@ -1,5 +1,7 @@
>  #ifndef ASM_X86__XEN__EVENTS_H
>  #define ASM_X86__XEN__EVENTS_H
> +
> +#include <asm/idle.h>
>  
>  enum ipi_vector {
>  	XEN_RESCHEDULE_VECTOR,
> @@ -15,4 +17,30 @@
>  	return raw_irqs_disabled_flags(regs->flags);
>  }
>  
> +static inline void xen_do_irq(unsigned irq, struct pt_regs *regs)
> +{
> +	struct pt_regs *old_regs = set_irq_regs(regs);
> +
> +	if (WARN_ON(irq == -1))
> +		return;
> +
> +	{
> +		struct irq_info *info = info_for_irq(irq);
> +
> +		if (info->type == IRQT_PIRQ)
> +			printk("xen_do_irq: pirq %d, gsi %d, vector %d\n",
> +				irq, info->u.pirq.gsi, info->u.pirq.vector);
> +	}
> +
> +	exit_idle();
> +	irq_enter();
> +
> +	//printk("cpu %d handling irq %d\n", smp_processor_id(), info->irq);
> +	handle_irq(irq, regs);
> +
> +	irq_exit();
> +
> +	set_irq_regs(old_regs);
> +}
> +
>  #endif /* ASM_X86__XEN__EVENTS_H */
>
>
>   

  reply	other threads:[~2008-10-07 15:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-07  2:25 [PATCH] xen: make events.c compile for ia64 Isaku Yamahata
2008-10-07 15:10 ` Jeremy Fitzhardinge [this message]
2008-10-10  6:50   ` Isaku Yamahata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48EB7BF4.9060604@goop.org \
    --to=jeremy@goop.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=xen-ia64-devel@lists.xensource.com \
    --cc=yamahata@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.