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

[Xen-devel] [PATCH] fix compilation error on ia64.



fix compilation error on ia64.

This patch fixes the following compilation error.
Since struct page_list_head is defined in mm.h, sched.h needs mm.h.
Other circular inclusions are sorted out.

> In file included from xen/include/asm-ia64/linux-xen/asm/smp.h:50,
>                  from xen/include/linux/smp.h:5,
>                  from xen/include/asm-ia64/linux/topology.h:33,
>                  from xen/include/asm-ia64/linux-xen/linux/gfp.h:6,
>                  from xen/include/asm/mm.h:11,
>                  from xen/include/xen/mm.h:90,
>                  from viosapic.c:35:
> xen/include/xen/sched.h:174: error: field page_list has incomplete type
> xen/include/xen/sched.h:175: error: field xenpage_list has incomplete type

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff --git a/xen/drivers/passthrough/vtd/dmar.c 
b/xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -21,6 +21,7 @@
 
 #include <xen/init.h>
 #include <xen/bitmap.h>
+#include <xen/errno.h>
 #include <xen/kernel.h>
 #include <xen/acpi.h>
 #include <xen/mm.h>
diff --git a/xen/include/asm-ia64/hardirq.h b/xen/include/asm-ia64/hardirq.h
--- a/xen/include/asm-ia64/hardirq.h
+++ b/xen/include/asm-ia64/hardirq.h
@@ -4,6 +4,7 @@
 #define __ARCH_IRQ_STAT        1
 #define HARDIRQ_BITS   14
 #include <linux/hardirq.h>
+#include <xen/sched.h>
 
 #define local_softirq_pending()                
(local_cpu_data->softirq_pending)
 
diff --git a/xen/include/asm-ia64/linux-xen/asm/smp.h 
b/xen/include/asm-ia64/linux-xen/asm/smp.h
--- a/xen/include/asm-ia64/linux-xen/asm/smp.h
+++ b/xen/include/asm-ia64/linux-xen/asm/smp.h
@@ -47,7 +47,6 @@ ia64_get_lid (void)
 #define SMP_IPI_REDIRECTION    (1 << 1)
 
 #ifdef XEN
-#include <xen/sched.h>
 #define raw_smp_processor_id() (current->processor)
 #else
 #define raw_smp_processor_id() (current_thread_info()->cpu)
diff --git a/xen/include/asm-ia64/mm.h b/xen/include/asm-ia64/mm.h
--- a/xen/include/asm-ia64/mm.h
+++ b/xen/include/asm-ia64/mm.h
@@ -13,7 +13,6 @@
 #include <xen/list.h>
 #include <xen/spinlock.h>
 #include <xen/perfc.h>
-#include <xen/sched.h>
 
 #include <asm/processor.h>
 #include <asm/atomic.h>
diff --git a/xen/include/asm-ia64/tlbflush.h b/xen/include/asm-ia64/tlbflush.h
--- a/xen/include/asm-ia64/tlbflush.h
+++ b/xen/include/asm-ia64/tlbflush.h
@@ -1,7 +1,8 @@
 #ifndef __FLUSHTLB_H__
 #define __FLUSHTLB_H__
 
-#include <xen/sched.h>
+struct vcpu;
+struct domain;
 
 /* TLB flushes can be either local (current vcpu only) or domain wide (on
    all vcpus).
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -19,6 +19,7 @@
 #include <xen/xenoprof.h>
 #include <xen/rcupdate.h>
 #include <xen/irq.h>
+#include <xen/mm.h>
 
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>


-- 
yamahata

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


 


Rackspace

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