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 */