mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	x86/microcode/AMD: Add a @cpu parameter to the reloading functions
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
This commit is contained in:
		
							parent
							
								
									2355370cd9
								
							
						
					
					
						commit
						a5ad92134b
					
				
					 4 changed files with 8 additions and 8 deletions
				
			
		| 
						 | 
					@ -125,13 +125,13 @@ static inline unsigned int x86_cpuid_family(void)
 | 
				
			||||||
#ifdef CONFIG_MICROCODE
 | 
					#ifdef CONFIG_MICROCODE
 | 
				
			||||||
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 initrd_gone;
 | 
					extern bool initrd_gone;
 | 
				
			||||||
void microcode_bsp_resume(void);
 | 
					void microcode_bsp_resume(void);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
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)			{ }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -578,7 +578,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;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -298,7 +298,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -312,7 +312,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;
 | 
				
			||||||
| 
						 | 
					@ -564,7 +564,7 @@ void microcode_bsp_resume(void)
 | 
				
			||||||
	if (uci->mc)
 | 
						if (uci->mc)
 | 
				
			||||||
		microcode_ops->apply_microcode(cpu);
 | 
							microcode_ops->apply_microcode(cpu);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		reload_early_microcode();
 | 
							reload_early_microcode(cpu);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct syscore_ops mc_syscore_ops = {
 | 
					static struct syscore_ops mc_syscore_ops = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue