diff options
Diffstat (limited to 'arch/x86/kernel/cpu/microcode/intel.c')
-rw-r--r-- | arch/x86/kernel/cpu/microcode/intel.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index ce47402eb2f9..ee81c544ee0d 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c | |||
@@ -145,10 +145,10 @@ matching_model_microcode(struct microcode_header_intel *mc_header, | |||
145 | int ext_sigcount, i; | 145 | int ext_sigcount, i; |
146 | struct extended_signature *ext_sig; | 146 | struct extended_signature *ext_sig; |
147 | 147 | ||
148 | fam = __x86_family(sig); | 148 | fam = x86_family(sig); |
149 | model = x86_model(sig); | 149 | model = x86_model(sig); |
150 | 150 | ||
151 | fam_ucode = __x86_family(mc_header->sig); | 151 | fam_ucode = x86_family(mc_header->sig); |
152 | model_ucode = x86_model(mc_header->sig); | 152 | model_ucode = x86_model(mc_header->sig); |
153 | 153 | ||
154 | if (fam == fam_ucode && model == model_ucode) | 154 | if (fam == fam_ucode && model == model_ucode) |
@@ -163,7 +163,7 @@ matching_model_microcode(struct microcode_header_intel *mc_header, | |||
163 | ext_sigcount = ext_header->count; | 163 | ext_sigcount = ext_header->count; |
164 | 164 | ||
165 | for (i = 0; i < ext_sigcount; i++) { | 165 | for (i = 0; i < ext_sigcount; i++) { |
166 | fam_ucode = __x86_family(ext_sig->sig); | 166 | fam_ucode = x86_family(ext_sig->sig); |
167 | model_ucode = x86_model(ext_sig->sig); | 167 | model_ucode = x86_model(ext_sig->sig); |
168 | 168 | ||
169 | if (fam == fam_ucode && model == model_ucode) | 169 | if (fam == fam_ucode && model == model_ucode) |
@@ -365,7 +365,7 @@ static int collect_cpu_info_early(struct ucode_cpu_info *uci) | |||
365 | native_cpuid(&eax, &ebx, &ecx, &edx); | 365 | native_cpuid(&eax, &ebx, &ecx, &edx); |
366 | csig.sig = eax; | 366 | csig.sig = eax; |
367 | 367 | ||
368 | family = __x86_family(csig.sig); | 368 | family = x86_family(csig.sig); |
369 | model = x86_model(csig.sig); | 369 | model = x86_model(csig.sig); |
370 | 370 | ||
371 | if ((model >= 5) || (family > 6)) { | 371 | if ((model >= 5) || (family > 6)) { |
@@ -521,16 +521,12 @@ static bool __init load_builtin_intel_microcode(struct cpio_data *cp) | |||
521 | { | 521 | { |
522 | #ifdef CONFIG_X86_64 | 522 | #ifdef CONFIG_X86_64 |
523 | unsigned int eax = 0x00000001, ebx, ecx = 0, edx; | 523 | unsigned int eax = 0x00000001, ebx, ecx = 0, edx; |
524 | unsigned int family, model, stepping; | ||
525 | char name[30]; | 524 | char name[30]; |
526 | 525 | ||
527 | native_cpuid(&eax, &ebx, &ecx, &edx); | 526 | native_cpuid(&eax, &ebx, &ecx, &edx); |
528 | 527 | ||
529 | family = __x86_family(eax); | 528 | sprintf(name, "intel-ucode/%02x-%02x-%02x", |
530 | model = x86_model(eax); | 529 | x86_family(eax), x86_model(eax), x86_stepping(eax)); |
531 | stepping = eax & 0xf; | ||
532 | |||
533 | sprintf(name, "intel-ucode/%02x-%02x-%02x", family, model, stepping); | ||
534 | 530 | ||
535 | return get_builtin_firmware(cp, name); | 531 | return get_builtin_firmware(cp, name); |
536 | #else | 532 | #else |