[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [IA64] Compile iosapic within xen



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID eab6fd4949f0bd40656a435cc7b0af47b9a91e88
# Parent  19148831ab05b2d1925c2a8e2562a0ada12f6d9a
[IA64] Compile iosapic within xen

Compile iosapic within xen. Part of code from Tristan.

Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>

diff -r 19148831ab05 -r eab6fd4949f0 xen/arch/ia64/linux-xen/Makefile
--- a/xen/arch/ia64/linux-xen/Makefile  Fri Apr 21 08:56:24 2006 -0600
+++ b/xen/arch/ia64/linux-xen/Makefile  Fri Apr 21 08:56:34 2006 -0600
@@ -13,3 +13,4 @@ obj-y += tlb.o
 obj-y += tlb.o
 obj-y += unaligned.o
 obj-y += unwind.o
+obj-y += iosapic.o
diff -r 19148831ab05 -r eab6fd4949f0 xen/arch/ia64/linux-xen/iosapic.c
--- a/xen/arch/ia64/linux-xen/iosapic.c Fri Apr 21 08:56:24 2006 -0600
+++ b/xen/arch/ia64/linux-xen/iosapic.c Fri Apr 21 08:56:34 2006 -0600
@@ -75,7 +75,9 @@
 #include <linux/irq.h>
 #include <linux/kernel.h>
 #include <linux/list.h>
+#ifndef XEN
 #include <linux/pci.h>
+#endif
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/string.h>
@@ -524,7 +526,11 @@ static struct iosapic_rte_info *iosapic_
        int preallocated = 0;
 
        if (!iosapic_kmalloc_ok && list_empty(&free_rte_list)) {
+#ifdef XEN
+               rte = xmalloc_bytes(sizeof(struct iosapic_rte_info) * 
NR_PREALLOCATE_RTE_ENTRIES);
+#else
                rte = alloc_bootmem(sizeof(struct iosapic_rte_info) * 
NR_PREALLOCATE_RTE_ENTRIES);
+#endif
                if (!rte)
                        return NULL;
                for (i = 0; i < NR_PREALLOCATE_RTE_ENTRIES; i++, rte++)
diff -r 19148831ab05 -r eab6fd4949f0 xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     Fri Apr 21 08:56:24 2006 -0600
+++ b/xen/include/asm-ia64/config.h     Fri Apr 21 08:56:34 2006 -0600
@@ -35,6 +35,7 @@
 #endif
 #define CONFIG_NR_CPUS NR_CPUS
 
+#define CONFIG_IOSAPIC
 #define supervisor_mode_kernel (0)
 
 #define MAX_DMADOM_PFN (0x7FFFFFFFUL >> PAGE_SHIFT) /* 31 addressable bits */
diff -r 19148831ab05 -r eab6fd4949f0 
xen/include/asm-ia64/linux-xen/asm/iosapic.h
--- a/xen/include/asm-ia64/linux-xen/asm/iosapic.h      Fri Apr 21 08:56:24 
2006 -0600
+++ b/xen/include/asm-ia64/linux-xen/asm/iosapic.h      Fri Apr 21 08:56:34 
2006 -0600
@@ -108,5 +108,37 @@ extern void __devinit map_iosapic_to_nod
        polarity,trigger)                                       (gsi)
 #endif
 
+#ifdef XEN
+/* Move to common code later */
+/**
+ * list_move - delete from one list and add as another's head
+ * @list: the entry to move
+ * @head: the head that will precede our entry
+ */
+static inline void list_move(struct list_head *list, struct list_head *head)
+{
+        __list_del(list->prev, list->next);
+        list_add(list, head);
+}
+
+#define move_irq(x)
+
+#define WARN_ON(condition) do { \
+       if (unlikely((condition)!=0)) { \
+               printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, 
__LINE__); \
+               dump_stack(); \
+       } \
+} while (0)
+
+#ifdef nop
+#undef nop
+#endif
+
+/* nop for now */
+static inline void
+set_irq_affinity_info(unsigned int irq, int hwid, int redir) {}
+
+#endif /* XEN */
+
 # endif /* !__ASSEMBLY__ */
 #endif /* __ASM_IA64_IOSAPIC_H */

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.