summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorFenghua Yu <fenghua.yu@intel.com>2012-12-21 08:44:30 +0100
committerH. Peter Anvin <hpa@linux.intel.com>2013-01-31 22:20:24 +0100
commitfeddc9de8bf69415da6f96eca0219186b70d145a (patch)
tree16c8c25796fc1871983854eaa116ef0bf605bf44 /arch/x86/kernel
parentx86/head_32.S: Early update ucode in 32-bit (diff)
downloadlinux-feddc9de8bf69415da6f96eca0219186b70d145a.tar.xz
linux-feddc9de8bf69415da6f96eca0219186b70d145a.zip
x86/head64.c: Early update ucode in 64-bit
This updates ucode on BSP in 64-bit mode. Paging and virtual address are working now. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/1356075872-3054-11-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/head64.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index 57334f4cd3af..3ff35705fa6e 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -26,6 +26,7 @@
#include <asm/e820.h>
#include <asm/bios_ebda.h>
#include <asm/bootparam_utils.h>
+#include <asm/microcode.h>
/*
* Manage page tables very early on.
@@ -170,6 +171,11 @@ void __init x86_64_start_kernel(char * real_mode_data)
copy_bootdata(__va(real_mode_data));
+ /*
+ * Load microcode early on BSP.
+ */
+ load_ucode_bsp();
+
if (console_loglevel == 10)
early_printk("Kernel alive\n");