Index: 2006-01-05/arch/x86_64/kernel/setup64-xen.c =================================================================== --- 2006-01-05.orig/arch/x86_64/kernel/setup64-xen.c 2006-01-05 13:14:04.000000000 +0100 +++ 2006-01-05/arch/x86_64/kernel/setup64-xen.c 2006-01-09 11:15:33.000000000 +0100 @@ -179,8 +179,6 @@ void pda_init(int cpu) pda->irqcount = -1; pda->kernelstack = (unsigned long)stack_thread_info() - PDA_STACKOFFSET + THREAD_SIZE; - pda->active_mm = &init_mm; - pda->mmu_state = 0; if (cpu == 0) { #ifdef CONFIG_XEN Index: 2006-01-05/arch/x86_64/kernel/setup64.c =================================================================== --- 2006-01-05.orig/arch/x86_64/kernel/setup64.c 2005-11-21 16:41:07.000000000 +0100 +++ 2006-01-05/arch/x86_64/kernel/setup64.c 2006-01-09 11:15:46.000000000 +0100 @@ -127,8 +127,10 @@ void pda_init(int cpu) pda->irqcount = -1; pda->kernelstack = (unsigned long)stack_thread_info() - PDA_STACKOFFSET + THREAD_SIZE; +#ifdef CONFIG_SMP pda->active_mm = &init_mm; pda->mmu_state = 0; +#endif if (cpu == 0) { /* others are initialized in smpboot.c */ Index: 2006-01-05/include/asm-x86_64/pda.h =================================================================== --- 2006-01-05.orig/include/asm-x86_64/pda.h 2005-11-21 16:42:15.000000000 +0100 +++ 2006-01-05/include/asm-x86_64/pda.h 2006-01-09 11:16:42.000000000 +0100 @@ -2,6 +2,7 @@ #define X86_64_PDA_H #ifndef __ASSEMBLY__ +#include #include #include #include @@ -18,8 +19,10 @@ struct x8664_pda { int nodenumber; /* number of current node */ unsigned int __softirq_pending; unsigned int __nmi_count; /* number of NMI on this CPUs */ +#if defined(CONFIG_SMP) && !defined(CONFIG_XEN) struct mm_struct *active_mm; - int mmu_state; + int mmu_state; +#endif unsigned apic_timer_irqs; } ____cacheline_aligned_in_smp;