x86/head_32.S: Early update ucode in 32-bit
authorFenghua Yu <fenghua.yu@intel.com>
Fri, 21 Dec 2012 07:44:29 +0000 (23:44 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 31 Jan 2013 21:19:20 +0000 (13:19 -0800)
This updates ucode in 32-bit kernel on BSP and AP. At this point, there is no
paging and no virtual address yet.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1356075872-3054-10-git-send-email-fenghua.yu@intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/kernel/head_32.S

index 8e7f655..2f70530 100644 (file)
@@ -144,6 +144,11 @@ ENTRY(startup_32)
        movl %eax, pa(olpc_ofw_pgd)
 #endif
 
+#ifdef CONFIG_MICROCODE_EARLY
+       /* Early load ucode on BSP. */
+       call load_ucode_bsp
+#endif
+
 /*
  * Initialize page tables.  This creates a PDE and a set of page
  * tables, which are located immediately beyond __brk_base.  The variable
@@ -299,6 +304,12 @@ ENTRY(startup_32_smp)
        movl %eax,%ss
        leal -__PAGE_OFFSET(%ecx),%esp
 
+#ifdef CONFIG_MICROCODE_EARLY
+       /* Early load ucode on AP. */
+       call load_ucode_ap
+#endif
+
+
 default_entry:
 /*
  *     New page tables may be in 4Mbyte page mode and may