Subject: xen3 x86 build fixes.
From: jbeulich@novell.com
Patch-mainline: n/a

--- head-2010-05-25.orig/arch/x86/include/asm/topology.h	2010-05-25 09:12:09.000000000 +0200
+++ head-2010-05-25/arch/x86/include/asm/topology.h	2010-03-24 15:06:06.000000000 +0100
@@ -30,7 +30,7 @@
 #  define ENABLE_TOPO_DEFINES
 # endif
 #else
-# ifdef CONFIG_SMP
+# if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
 #  define ENABLE_TOPO_DEFINES
 # endif
 #endif
--- head-2010-05-25.orig/arch/x86/kdb/kdba_bt.c	2010-05-25 09:12:09.000000000 +0200
+++ head-2010-05-25/arch/x86/kdb/kdba_bt.c	2010-04-15 09:51:55.000000000 +0200
@@ -3244,6 +3244,9 @@ bb_usage_mov(const struct bb_operand *sr
 	    bb_is_int_reg(dst->base_rc) &&
 	    full_register_dst) {
 #ifdef	CONFIG_X86_32
+#ifndef TSS_sysenter_sp0
+#define TSS_sysenter_sp0 SYSENTER_stack_sp0
+#endif
 		/* mov from TSS_sysenter_sp0+offset to esp to fix up the
 		 * sysenter stack, it leaves esp well defined.  mov
 		 * TSS_ysenter_sp0+offset(%esp),%esp is followed by up to 5
--- head-2010-05-25.orig/arch/x86/kernel/cpu/intel_cacheinfo.c	2010-05-25 09:12:09.000000000 +0200
+++ head-2010-05-25/arch/x86/kernel/cpu/intel_cacheinfo.c	2010-05-25 09:20:14.000000000 +0200
@@ -632,7 +632,7 @@ unsigned int __cpuinit init_intel_cachei
 static DEFINE_PER_CPU(struct _cpuid4_info *, ici_cpuid4_info);
 #define CPUID4_INFO_IDX(x, y)	(&((per_cpu(ici_cpuid4_info, x))[y]))
 
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
 static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index)
 {
 	struct _cpuid4_info	*this_leaf, *sibling_leaf;
--- head-2010-05-25.orig/arch/x86/power/Makefile	2010-05-25 09:12:09.000000000 +0200
+++ head-2010-05-25/arch/x86/power/Makefile	2010-03-24 15:06:06.000000000 +0100
@@ -5,3 +5,5 @@ CFLAGS_cpu.o	:= $(nostackp)
 
 obj-$(CONFIG_PM_SLEEP)		+= cpu.o
 obj-$(CONFIG_HIBERNATION)	+= hibernate_$(BITS).o hibernate_asm_$(BITS).o
+
+disabled-obj-$(CONFIG_XEN)	:= cpu.o
--- head-2010-05-25.orig/arch/x86/power/cpu.c	2010-03-24 15:01:37.000000000 +0100
+++ head-2010-05-25/arch/x86/power/cpu.c	2010-03-24 15:06:06.000000000 +0100
@@ -126,7 +126,6 @@ static void do_fpu_end(void)
 
 static void fix_processor_context(void)
 {
-#ifndef CONFIG_X86_NO_TSS
 	int cpu = smp_processor_id();
 	struct tss_struct *t = &per_cpu(init_tss, cpu);
 
@@ -139,10 +138,7 @@ static void fix_processor_context(void)
 
 #ifdef CONFIG_X86_64
 	get_cpu_gdt_table(cpu)[GDT_ENTRY_TSS].type = 9;
-#endif
-#endif
 
-#ifdef CONFIG_X86_64
 	syscall_init();				/* This sets MSR_*STAR and related */
 #endif
 	load_TR_desc();				/* This does ltr */
