[tip:x86/microcode] x86/smpboot.c: Early update ucode on AP

From: tip-bot for Fenghua Yu
Date: Fri Nov 30 2012 - 19:28:23 EST


Commit-ID: 27f7c88afbdff536e65bbf1507ba63ce20eb0ba3
Gitweb: http://git.kernel.org/tip/27f7c88afbdff536e65bbf1507ba63ce20eb0ba3
Author: Fenghua Yu <fenghua.yu@xxxxxxxxx>
AuthorDate: Thu, 29 Nov 2012 17:47:46 -0800
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Fri, 30 Nov 2012 15:18:16 -0800

x86/smpboot.c: Early update ucode on AP

This updates ucode on AP. At this point, BSP should store some valid ucode
patches in memory if it finds the ucode patches in initrd. AP searches the
stored ucode and uploads the ucode.

Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1354240068-9821-9-git-send-email-fenghua.yu@xxxxxxxxx
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
---
arch/x86/kernel/smpboot.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index c80a33b..f616692 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -76,6 +76,7 @@
#include <asm/i8259.h>

#include <asm/realmode.h>
+#include <asm/microcode.h>

/* State of each CPU */
DEFINE_PER_CPU(int, cpu_state) = { 0 };
@@ -239,6 +240,12 @@ notrace static void __cpuinit start_secondary(void *unused)
* most necessary things.
*/
cpu_init();
+ /*
+ * Load microcode on this cpu if a valid microcode is available.
+ * This is early microcode loading procedure.
+ */
+ load_ucode_ap();
+
x86_cpuinit.early_percpu_clock_init();
preempt_disable();
smp_callin();
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/