[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |