]> Pileus Git - ~andy/linux/blobdiff - arch/x86/kernel/cpu/intel.c
Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / arch / x86 / kernel / cpu / intel.c
index 71700247a5d7d0d1f4242e82f0f116852953c005..9b0c441c03f5fef93c4d1f25fcb3cf7368370601 100644 (file)
@@ -96,6 +96,18 @@ static void __cpuinit early_init_intel(struct cpuinfo_x86 *c)
                        sched_clock_stable = 1;
        }
 
+       /* Penwell and Cloverview have the TSC which doesn't sleep on S3 */
+       if (c->x86 == 6) {
+               switch (c->x86_model) {
+               case 0x27:      /* Penwell */
+               case 0x35:      /* Cloverview */
+                       set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC_S3);
+                       break;
+               default:
+                       break;
+               }
+       }
+
        /*
         * There is a known erratum on Pentium III and Core Solo
         * and Core Duo CPUs.
@@ -194,11 +206,11 @@ static void __cpuinit intel_workarounds(struct cpuinfo_x86 *c)
         * have the F0 0F bug, which lets nonprivileged users lock up the
         * system. Announce that the fault handler will be checking for it.
         */
-       c->f00f_bug = 0;
+       clear_cpu_bug(c, X86_BUG_F00F);
        if (!paravirt_enabled() && c->x86 == 5) {
                static int f00f_workaround_enabled;
 
-               c->f00f_bug = 1;
+               set_cpu_bug(c, X86_BUG_F00F);
                if (!f00f_workaround_enabled) {
                        printk(KERN_NOTICE "Intel Pentium with F0 0F bug - workaround enabled.\n");
                        f00f_workaround_enabled = 1;