diff options
Diffstat (limited to 'arch/x86/kernel/microcode_amd.c')
| -rw-r--r-- | arch/x86/kernel/microcode_amd.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c index 73465aab28f8..8a2ce8fd41c0 100644 --- a/arch/x86/kernel/microcode_amd.c +++ b/arch/x86/kernel/microcode_amd.c | |||
| @@ -82,11 +82,6 @@ static int collect_cpu_info_amd(int cpu, struct cpu_signature *csig) | |||
| 82 | { | 82 | { |
| 83 | struct cpuinfo_x86 *c = &cpu_data(cpu); | 83 | struct cpuinfo_x86 *c = &cpu_data(cpu); |
| 84 | 84 | ||
| 85 | if (c->x86_vendor != X86_VENDOR_AMD || c->x86 < 0x10) { | ||
| 86 | pr_warning("CPU%d: family %d not supported\n", cpu, c->x86); | ||
| 87 | return -1; | ||
| 88 | } | ||
| 89 | |||
| 90 | csig->rev = c->microcode; | 85 | csig->rev = c->microcode; |
| 91 | pr_info("CPU%d: patch_level=0x%08x\n", cpu, csig->rev); | 86 | pr_info("CPU%d: patch_level=0x%08x\n", cpu, csig->rev); |
| 92 | 87 | ||
| @@ -380,6 +375,13 @@ static struct microcode_ops microcode_amd_ops = { | |||
| 380 | 375 | ||
| 381 | struct microcode_ops * __init init_amd_microcode(void) | 376 | struct microcode_ops * __init init_amd_microcode(void) |
| 382 | { | 377 | { |
| 378 | struct cpuinfo_x86 *c = &cpu_data(0); | ||
| 379 | |||
| 380 | if (c->x86_vendor != X86_VENDOR_AMD || c->x86 < 0x10) { | ||
| 381 | pr_warning("AMD CPU family 0x%x not supported\n", c->x86); | ||
| 382 | return NULL; | ||
| 383 | } | ||
| 384 | |||
| 383 | patch = (void *)get_zeroed_page(GFP_KERNEL); | 385 | patch = (void *)get_zeroed_page(GFP_KERNEL); |
| 384 | if (!patch) | 386 | if (!patch) |
| 385 | return NULL; | 387 | return NULL; |
