--- /dev/null
+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;