Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[linux] / arch / x86 / kernel / cpu / amd.c
index 97e962a..22ab408 100644 (file)
@@ -232,8 +232,6 @@ static void init_amd_k7(struct cpuinfo_x86 *c)
                }
        }
 
-       set_cpu_cap(c, X86_FEATURE_K7);
-
        /* calling is from identify_secondary_cpu() ? */
        if (!c->cpu_index)
                return;
@@ -624,6 +622,14 @@ static void early_init_amd(struct cpuinfo_x86 *c)
 
        early_init_amd_mc(c);
 
+#ifdef CONFIG_X86_32
+       if (c->x86 == 6)
+               set_cpu_cap(c, X86_FEATURE_K7);
+#endif
+
+       if (c->x86 >= 0xf)
+               set_cpu_cap(c, X86_FEATURE_K8);
+
        rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);
 
        /*
@@ -866,9 +872,6 @@ static void init_amd(struct cpuinfo_x86 *c)
 
        init_amd_cacheinfo(c);
 
-       if (c->x86 >= 0xf)
-               set_cpu_cap(c, X86_FEATURE_K8);
-
        if (cpu_has(c, X86_FEATURE_XMM2)) {
                unsigned long long val;
                int ret;