diff options
author | Borislav Petkov <bp@suse.de> | 2016-10-25 11:55:16 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-10-25 12:28:58 +0200 |
commit | b3763a672dc0cdaf494a28ec4c2b4e5e0e93334e (patch) | |
tree | 610b3e2d826d238a8aed1c6a0ceaae5756acc4fa | |
parent | 058dc49803171f37b25f053182835f2969d1c43f (diff) | |
download | linux-b3763a672dc0cdaf494a28ec4c2b4e5e0e93334e.tar.gz linux-b3763a672dc0cdaf494a28ec4c2b4e5e0e93334e.tar.bz2 linux-b3763a672dc0cdaf494a28ec4c2b4e5e0e93334e.zip |
x86/microcode/amd: Hand down the CPU family
Will be needed in a following patch.
No functionality change.
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20161025095522.11964-7-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/include/asm/microcode_amd.h | 9 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/microcode/amd.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/microcode/core.c | 4 |
3 files changed, 10 insertions, 9 deletions
diff --git a/arch/x86/include/asm/microcode_amd.h b/arch/x86/include/asm/microcode_amd.h index 15eb75484cc0..ad6a7be3b1f8 100644 --- a/arch/x86/include/asm/microcode_amd.h +++ b/arch/x86/include/asm/microcode_amd.h @@ -65,13 +65,14 @@ extern enum ucode_state load_microcode_amd(int cpu, u8 family, const u8 *data, s #ifdef CONFIG_MICROCODE_AMD extern void __init load_ucode_amd_bsp(unsigned int family); -extern void load_ucode_amd_ap(void); -extern int __init save_microcode_in_initrd_amd(void); +extern void load_ucode_amd_ap(unsigned int family); +extern int __init save_microcode_in_initrd_amd(unsigned int family); void reload_ucode_amd(void); #else static inline void __init load_ucode_amd_bsp(unsigned int family) {} -static inline void load_ucode_amd_ap(void) {} -static inline int __init save_microcode_in_initrd_amd(void) { return -EINVAL; } +static inline void load_ucode_amd_ap(unsigned int family) {} +static inline int __init +save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; } void reload_ucode_amd(void) {} #endif diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c index 8cb20e3e9436..bb16418ecaa9 100644 --- a/arch/x86/kernel/cpu/microcode/amd.c +++ b/arch/x86/kernel/cpu/microcode/amd.c @@ -308,7 +308,7 @@ void __init load_ucode_amd_bsp(unsigned int family) * In save_microcode_in_initrd_amd() BSP's patch is copied to amd_ucode_patch, * which is used upon resume from suspend. */ -void load_ucode_amd_ap(void) +void load_ucode_amd_ap(unsigned int family) { struct microcode_amd *mc; size_t *usize; @@ -346,7 +346,7 @@ static void __init get_bsp_sig(void) smp_call_function_single(bsp, collect_cpu_sig_on_bsp, NULL, 1); } #else -void load_ucode_amd_ap(void) +void load_ucode_amd_ap(unsigned int family) { struct equiv_cpu_entry *eq; struct microcode_amd *mc; @@ -395,7 +395,7 @@ void load_ucode_amd_ap(void) } #endif -int __init save_microcode_in_initrd_amd(void) +int __init save_microcode_in_initrd_amd(unsigned int family) { unsigned long cont; int retval = 0; diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c index 55a2b24b2bdd..b67145dcfdaf 100644 --- a/arch/x86/kernel/cpu/microcode/core.c +++ b/arch/x86/kernel/cpu/microcode/core.c @@ -169,7 +169,7 @@ void load_ucode_ap(void) break; case X86_VENDOR_AMD: if (family >= 0x10) - load_ucode_amd_ap(); + load_ucode_amd_ap(family); break; default: break; @@ -187,7 +187,7 @@ static int __init save_microcode_in_initrd(void) break; case X86_VENDOR_AMD: if (c->x86 >= 0x10) - return save_microcode_in_initrd_amd(); + return save_microcode_in_initrd_amd(c->x86); break; default: break; |