| From a5ad92134bd153a9ccdcddf09a95b088f36c3cce Mon Sep 17 00:00:00 2001 |
| From: "Borislav Petkov (AMD)" <bp@alien8.de> |
| Date: Thu, 26 Jan 2023 00:08:03 +0100 |
| Subject: x86/microcode/AMD: Add a @cpu parameter to the reloading functions |
| |
| From: Borislav Petkov (AMD) <bp@alien8.de> |
| |
| commit a5ad92134bd153a9ccdcddf09a95b088f36c3cce upstream. |
| |
| Will be used in a subsequent change. |
| |
| Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> |
| Link: https://lore.kernel.org/r/20230130161709.11615-3-bp@alien8.de |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/include/asm/microcode.h | 4 ++-- |
| arch/x86/include/asm/microcode_amd.h | 4 ++-- |
| arch/x86/kernel/cpu/microcode/amd.c | 2 +- |
| arch/x86/kernel/cpu/microcode/core.c | 6 +++--- |
| 4 files changed, 8 insertions(+), 8 deletions(-) |
| |
| --- a/arch/x86/include/asm/microcode.h |
| +++ b/arch/x86/include/asm/microcode.h |
| @@ -130,7 +130,7 @@ static inline unsigned int x86_cpuid_fam |
| int __init microcode_init(void); |
| extern void __init load_ucode_bsp(void); |
| extern void load_ucode_ap(void); |
| -void reload_early_microcode(void); |
| +void reload_early_microcode(unsigned int cpu); |
| extern bool get_builtin_firmware(struct cpio_data *cd, const char *name); |
| extern bool initrd_gone; |
| void microcode_bsp_resume(void); |
| @@ -138,7 +138,7 @@ void microcode_bsp_resume(void); |
| static inline int __init microcode_init(void) { return 0; }; |
| static inline void __init load_ucode_bsp(void) { } |
| static inline void load_ucode_ap(void) { } |
| -static inline void reload_early_microcode(void) { } |
| +static inline void reload_early_microcode(unsigned int cpu) { } |
| static inline void microcode_bsp_resume(void) { } |
| static inline bool |
| get_builtin_firmware(struct cpio_data *cd, const char *name) { return false; } |
| --- a/arch/x86/include/asm/microcode_amd.h |
| +++ b/arch/x86/include/asm/microcode_amd.h |
| @@ -47,12 +47,12 @@ struct microcode_amd { |
| extern void __init load_ucode_amd_bsp(unsigned int family); |
| 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); |
| +void reload_ucode_amd(unsigned int cpu); |
| #else |
| static inline void __init load_ucode_amd_bsp(unsigned int family) {} |
| 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) {} |
| +static inline void reload_ucode_amd(unsigned int cpu) {} |
| #endif |
| #endif /* _ASM_X86_MICROCODE_AMD_H */ |
| --- a/arch/x86/kernel/cpu/microcode/amd.c |
| +++ b/arch/x86/kernel/cpu/microcode/amd.c |
| @@ -354,7 +354,7 @@ int __init save_microcode_in_initrd_amd( |
| return 0; |
| } |
| |
| -void reload_ucode_amd(void) |
| +void reload_ucode_amd(unsigned int cpu) |
| { |
| struct microcode_amd *mc; |
| u32 rev, dummy; |
| --- a/arch/x86/kernel/cpu/microcode/core.c |
| +++ b/arch/x86/kernel/cpu/microcode/core.c |
| @@ -326,7 +326,7 @@ struct cpio_data find_microcode_in_initr |
| #endif |
| } |
| |
| -void reload_early_microcode(void) |
| +void reload_early_microcode(unsigned int cpu) |
| { |
| int vendor, family; |
| |
| @@ -340,7 +340,7 @@ void reload_early_microcode(void) |
| break; |
| case X86_VENDOR_AMD: |
| if (family >= 0x10) |
| - reload_ucode_amd(); |
| + reload_ucode_amd(cpu); |
| break; |
| default: |
| break; |
| @@ -783,7 +783,7 @@ void microcode_bsp_resume(void) |
| if (uci->valid && uci->mc) |
| microcode_ops->apply_microcode(cpu); |
| else if (!uci->mc) |
| - reload_early_microcode(); |
| + reload_early_microcode(cpu); |
| } |
| |
| static struct syscore_ops mc_syscore_ops = { |