From: jbeulich@novell.com Subject: ensure inadvertent uses of lazy TLB data are caught during the build Patch-mainline: obsolete Index: head-2008-11-17/arch/x86/kernel/cpu/common_64-xen.c =================================================================== --- head-2008-11-17.orig/arch/x86/kernel/cpu/common_64-xen.c 2008-11-17 14:06:21.000000000 +0100 +++ head-2008-11-17/arch/x86/kernel/cpu/common_64-xen.c 2008-11-17 14:07:10.000000000 +0100 @@ -557,8 +557,10 @@ void pda_init(int cpu) pda->irqcount = -1; pda->kernelstack = (unsigned long)stack_thread_info() - PDA_STACKOFFSET + THREAD_SIZE; +#ifndef CONFIG_XEN pda->active_mm = &init_mm; pda->mmu_state = 0; +#endif if (cpu == 0) { /* others are initialized in smpboot.c */ Index: head-2008-11-17/include/asm-x86/mach-xen/asm/tlbflush.h =================================================================== --- head-2008-11-17.orig/include/asm-x86/mach-xen/asm/tlbflush.h 2008-11-17 13:41:59.000000000 +0100 +++ head-2008-11-17/include/asm-x86/mach-xen/asm/tlbflush.h 2008-11-17 14:07:10.000000000 +0100 @@ -82,6 +82,7 @@ static inline void flush_tlb_range(struc flush_tlb_mm(vma->vm_mm); } +#ifndef CONFIG_XEN #define TLBSTATE_OK 1 #define TLBSTATE_LAZY 2 @@ -93,6 +94,7 @@ struct tlb_state { }; DECLARE_PER_CPU(struct tlb_state, cpu_tlbstate); #endif +#endif #endif /* SMP */ Index: head-2008-11-17/include/asm-x86/pda.h =================================================================== --- head-2008-11-17.orig/include/asm-x86/pda.h 2008-11-17 13:15:55.000000000 +0100 +++ head-2008-11-17/include/asm-x86/pda.h 2008-11-17 14:07:10.000000000 +0100 @@ -26,9 +26,13 @@ struct x8664_pda { short in_bootmem; /* pda lives in bootmem */ unsigned int __softirq_pending; unsigned int __nmi_count; /* number of NMI on this CPUs */ +#ifndef CONFIG_XEN short mmu_state; short isidle; struct mm_struct *active_mm; +#else + short isidle; +#endif unsigned apic_timer_irqs; unsigned irq0_irqs; unsigned irq_resched_count;