|
@@ -547,8 +547,12 @@ static void bsp_init_amd(struct cpuinfo_x86 *c)
|
|
|
|
|
|
static void early_init_amd(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
+ u32 dummy;
|
|
|
+
|
|
|
early_init_amd_mc(c);
|
|
|
|
|
|
+ rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);
|
|
|
+
|
|
|
/*
|
|
|
* c->x86_power is 8000_0007 edx. Bit 8 is TSC runs at constant rate
|
|
|
* with P/T states and does not stop in deep C-states
|
|
@@ -750,8 +754,6 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
|
|
|
|
|
|
static void init_amd(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
- u32 dummy;
|
|
|
-
|
|
|
early_init_amd(c);
|
|
|
|
|
|
/*
|
|
@@ -813,8 +815,6 @@ static void init_amd(struct cpuinfo_x86 *c)
|
|
|
if (c->x86 > 0x11)
|
|
|
set_cpu_cap(c, X86_FEATURE_ARAT);
|
|
|
|
|
|
- rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);
|
|
|
-
|
|
|
/* 3DNow or LM implies PREFETCHW */
|
|
|
if (!cpu_has(c, X86_FEATURE_3DNOWPREFETCH))
|
|
|
if (cpu_has(c, X86_FEATURE_3DNOW) || cpu_has(c, X86_FEATURE_LM))
|