x86/microcode/AMD: Add a @cpu parameter to the reloading functions
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>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
0a89768b85
commit
87cf9bc78c
@@ -131,7 +131,7 @@ static inline unsigned int x86_cpuid_family(void)
|
|||||||
int __init microcode_init(void);
|
int __init microcode_init(void);
|
||||||
extern void __init load_ucode_bsp(void);
|
extern void __init load_ucode_bsp(void);
|
||||||
extern void load_ucode_ap(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 get_builtin_firmware(struct cpio_data *cd, const char *name);
|
||||||
extern bool initrd_gone;
|
extern bool initrd_gone;
|
||||||
void microcode_bsp_resume(void);
|
void microcode_bsp_resume(void);
|
||||||
@@ -139,7 +139,7 @@ void microcode_bsp_resume(void);
|
|||||||
static inline int __init microcode_init(void) { return 0; };
|
static inline int __init microcode_init(void) { return 0; };
|
||||||
static inline void __init load_ucode_bsp(void) { }
|
static inline void __init load_ucode_bsp(void) { }
|
||||||
static inline void load_ucode_ap(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 void microcode_bsp_resume(void) { }
|
||||||
static inline bool
|
static inline bool
|
||||||
get_builtin_firmware(struct cpio_data *cd, const char *name) { return false; }
|
get_builtin_firmware(struct cpio_data *cd, const char *name) { return false; }
|
||||||
|
@@ -47,12 +47,12 @@ struct microcode_amd {
|
|||||||
extern void __init load_ucode_amd_bsp(unsigned int family);
|
extern void __init load_ucode_amd_bsp(unsigned int family);
|
||||||
extern void load_ucode_amd_ap(unsigned int family);
|
extern void load_ucode_amd_ap(unsigned int family);
|
||||||
extern int __init save_microcode_in_initrd_amd(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
|
#else
|
||||||
static inline void __init load_ucode_amd_bsp(unsigned int family) {}
|
static inline void __init load_ucode_amd_bsp(unsigned int family) {}
|
||||||
static inline void load_ucode_amd_ap(unsigned int family) {}
|
static inline void load_ucode_amd_ap(unsigned int family) {}
|
||||||
static inline int __init
|
static inline int __init
|
||||||
save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
|
save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
|
||||||
static inline void reload_ucode_amd(void) {}
|
static inline void reload_ucode_amd(unsigned int cpu) {}
|
||||||
#endif
|
#endif
|
||||||
#endif /* _ASM_X86_MICROCODE_AMD_H */
|
#endif /* _ASM_X86_MICROCODE_AMD_H */
|
||||||
|
@@ -573,7 +573,7 @@ int __init save_microcode_in_initrd_amd(unsigned int cpuid_1_eax)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void reload_ucode_amd(void)
|
void reload_ucode_amd(unsigned int cpu)
|
||||||
{
|
{
|
||||||
struct microcode_amd *mc;
|
struct microcode_amd *mc;
|
||||||
u32 rev, dummy __always_unused;
|
u32 rev, dummy __always_unused;
|
||||||
|
@@ -315,7 +315,7 @@ struct cpio_data find_microcode_in_initrd(const char *path, bool use_pa)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void reload_early_microcode(void)
|
void reload_early_microcode(unsigned int cpu)
|
||||||
{
|
{
|
||||||
int vendor, family;
|
int vendor, family;
|
||||||
|
|
||||||
@@ -329,7 +329,7 @@ void reload_early_microcode(void)
|
|||||||
break;
|
break;
|
||||||
case X86_VENDOR_AMD:
|
case X86_VENDOR_AMD:
|
||||||
if (family >= 0x10)
|
if (family >= 0x10)
|
||||||
reload_ucode_amd();
|
reload_ucode_amd(cpu);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -707,7 +707,7 @@ void microcode_bsp_resume(void)
|
|||||||
if (uci->valid && uci->mc)
|
if (uci->valid && uci->mc)
|
||||||
microcode_ops->apply_microcode(cpu);
|
microcode_ops->apply_microcode(cpu);
|
||||||
else if (!uci->mc)
|
else if (!uci->mc)
|
||||||
reload_early_microcode();
|
reload_early_microcode(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct syscore_ops mc_syscore_ops = {
|
static struct syscore_ops mc_syscore_ops = {
|
||||||
|
Reference in New Issue
Block a user