Thanks. Additionally, it should be quite easy for you to shrink your
page_info a bit by making use of the new page_list_head definitions.
-- Keir
On 03/02/2009 08:07, "Isaku Yamahata" <yamahata@valinux.co.jp>
wrote:
> 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@valinux.co.jp>
>
> 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>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel