select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
-       select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
-       select HAVE_ARCH_KGDB if !X86_VOYAGER
 +      select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
+       select HAVE_KVM
+       select HAVE_ARCH_KGDB
        select HAVE_ARCH_TRACEHOOK
        select HAVE_GENERIC_DMA_COHERENT if X86_32
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
 
        if (c->x86_power & (1 << 8)) {
                set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
                set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC);
 +              set_cpu_cap(c, X86_FEATURE_TSC_RELIABLE);
 +              sched_clock_stable = 1;
        }
  
+       /*
+        * There is a known erratum on Pentium III and Core Solo
+        * and Core Duo CPUs.
+        * " Page with PAT set to WC while associated MTRR is UC
+        *   may consolidate to UC "
+        * Because of this erratum, it is better to stick with
+        * setting WC in MTRR rather than using PAT on these CPUs.
+        *
+        * Enable PAT WC only on P4, Core 2 or later CPUs.
+        */
+       if (c->x86 == 6 && c->x86_model < 15)
+               clear_cpu_cap(c, X86_FEATURE_PAT);
  }
  
  #ifdef CONFIG_X86_32
 
  #include <linux/module.h>
  #include <linux/pm.h>
  #include <linux/clockchips.h>
 -#include <linux/ftrace.h>
 +#include <trace/power.h>
  #include <asm/system.h>
  #include <asm/apic.h>
+ #include <asm/idle.h>
+ #include <asm/uaccess.h>
+ #include <asm/i387.h>
  
  unsigned long idle_halt;
  EXPORT_SYMBOL(idle_halt);
 
  #include <linux/kernel_stat.h>
  #include <linux/rculist.h>
  #include <linux/hash.h>
 +#include <trace/irq.h>
+ #include <linux/bootmem.h>
  
  #include "internals.h"