WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-ia64-devel] [PATCH] xen: make events.c compile for ia64.

To: jeremy@xxxxxxxx
Subject: [Xen-ia64-devel] [PATCH] xen: make events.c compile for ia64.
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Date: Tue, 7 Oct 2008 11:25:19 +0900
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 06 Oct 2008 19:25:23 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6i
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.


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@xxxxxxxxxxxxx>

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)
-{
-       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 */


-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>