mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
x86, microcode, AMD: Add a vendor-specific exit function
This will be used to do cleanup work before the driver exits. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
parent
dc47ce90c3
commit
f72c1a5765
@ -48,6 +48,7 @@ static inline struct microcode_ops * __init init_intel_microcode(void)
|
||||
|
||||
#ifdef CONFIG_MICROCODE_AMD
|
||||
extern struct microcode_ops * __init init_amd_microcode(void);
|
||||
extern void __exit exit_amd_microcode(void);
|
||||
|
||||
static inline void get_ucode_data(void *to, const u8 *from, size_t n)
|
||||
{
|
||||
@ -59,6 +60,7 @@ static inline struct microcode_ops * __init init_amd_microcode(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline void __exit exit_amd_microcode(void) {}
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_X86_MICROCODE_H */
|
||||
|
@ -353,3 +353,7 @@ struct microcode_ops * __init init_amd_microcode(void)
|
||||
{
|
||||
return µcode_amd_ops;
|
||||
}
|
||||
|
||||
void __exit exit_amd_microcode(void)
|
||||
{
|
||||
}
|
||||
|
@ -563,6 +563,8 @@ module_init(microcode_init);
|
||||
|
||||
static void __exit microcode_exit(void)
|
||||
{
|
||||
struct cpuinfo_x86 *c = &cpu_data(0);
|
||||
|
||||
microcode_dev_exit();
|
||||
|
||||
unregister_hotcpu_notifier(&mc_cpu_notifier);
|
||||
@ -580,6 +582,9 @@ static void __exit microcode_exit(void)
|
||||
|
||||
microcode_ops = NULL;
|
||||
|
||||
if (c->x86_vendor == X86_VENDOR_AMD)
|
||||
exit_amd_microcode();
|
||||
|
||||
pr_info("Microcode Update Driver: v" MICROCODE_VERSION " removed.\n");
|
||||
}
|
||||
module_exit(microcode_exit);
|
||||
|
Loading…
Reference in New Issue
Block a user