Conflicts:
	arch/x86/kernel/process_32.c
	arch/x86/kernel/process_64.c
Manual merge:
	arch/x86/kernel/smpboot.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  #include <asm/desc.h>
  #include <asm/nmi.h>
  #include <asm/irq.h>
++#include <asm/idle.h>
  #include <asm/smp.h>
  #include <asm/trampoline.h>
  #include <asm/cpu.h>
        }
        printk(KERN_ERR "CPU %u didn't die...\n", cpu);
  }
 +
 +void play_dead_common(void)
 +{
 +      idle_task_exit();
 +      reset_lazy_tlbstate();
 +      irq_ctx_exit(raw_smp_processor_id());
++      c1e_remove_cpu(raw_smp_processor_id());
 +
 +      mb();
 +      /* Ack it */
 +      __get_cpu_var(cpu_state) = CPU_DEAD;
 +
 +      /*
 +       * With physical CPU hotplug, we should halt the cpu
 +       */
 +      local_irq_disable();
 +}
 +
 +void native_play_dead(void)
 +{
 +      play_dead_common();
 +      wbinvd_halt();
 +}
 +
  #else /* ... !CONFIG_HOTPLUG_CPU */
 -int __cpu_disable(void)
 +int native_cpu_disable(void)
  {
        return -ENOSYS;
  }