]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
microcode_xen: Add support for AMD family >= 15h
authorIan Campbell <ijc@hellion.org.uk>
Mon, 26 Nov 2012 09:41:02 +0000 (09:41 +0000)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Mon, 29 Jun 2015 19:14:43 +0000 (12:14 -0700)
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit 8b080aa43b95719d8981ba06f357abb6f0ba9d52)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/kernel/microcode_xen.c

index 6a73957dd18758dc2dfef8ed4ba50df5067ba899..9e50566c735faa890650e5bfd996206e54e9b9aa 100644 (file)
@@ -58,7 +58,7 @@ static int xen_microcode_update(int cpu)
 
 static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device)
 {
-       char name[30];
+       char name[36];
        struct cpuinfo_x86 *c = &cpu_data(cpu);
        const struct firmware *firmware;
        struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
@@ -74,7 +74,11 @@ static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device)
                break;
 
        case X86_VENDOR_AMD:
-               snprintf(name, sizeof(name), "amd-ucode/microcode_amd.bin");
+               /* Beginning with family 15h AMD uses family-specific firmware files. */
+               if (c->x86 >= 0x15)
+                       snprintf(name, sizeof(name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
+               else
+                       snprintf(name, sizeof(name), "amd-ucode/microcode_amd.bin");
                break;
 
        default: