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
|