diff options
author | Andreas Herrmann <herrmann.der.user@googlemail.com> | 2009-11-10 12:07:23 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-11-10 12:15:48 +0100 |
commit | d1c84f79a6ba992dc01e312c44a21496303874d6 (patch) | |
tree | 1d15af2e65759cc25132cdfffebea7f710bfdb07 /arch/x86/kernel/microcode_core.c | |
parent | 6e18da75c28b592594fd632cf3e6eb09d3d078de (diff) | |
download | blackbird-obmc-linux-d1c84f79a6ba992dc01e312c44a21496303874d6.tar.gz blackbird-obmc-linux-d1c84f79a6ba992dc01e312c44a21496303874d6.zip |
x86: ucode-amd: Load ucode-patches once and not separately of each CPU
This also implies that corresponding log messages, e.g.
platform microcode: firmware: requesting amd-ucode/microcode_amd.bin
show up only once on module load and not when ucode is updated
for each CPU.
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: dimm <dmitry.adamushko@gmail.com>
LKML-Reference: <20091110110723.GH30802@alberich.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/microcode_core.c')
-rw-r--r-- | arch/x86/kernel/microcode_core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c index 378e9a8f1bf8..d2a816021d9f 100644 --- a/arch/x86/kernel/microcode_core.c +++ b/arch/x86/kernel/microcode_core.c @@ -520,6 +520,9 @@ static int __init microcode_init(void) return PTR_ERR(microcode_pdev); } + if (microcode_ops->init) + microcode_ops->init(µcode_pdev->dev); + get_online_cpus(); mutex_lock(µcode_mutex); @@ -563,6 +566,9 @@ static void __exit microcode_exit(void) platform_device_unregister(microcode_pdev); + if (microcode_ops->fini) + microcode_ops->fini(); + microcode_ops = NULL; pr_info("Microcode Update Driver: v" MICROCODE_VERSION " removed.\n"); |