Messages in this thread | | | Date | Sun, 16 Dec 2012 15:35:44 -0800 | Subject | Re: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-bit | From | Yinghai Lu <> |
| |
On Sun, Dec 16, 2012 at 1:43 PM, H. Peter Anvin <hpa@zytor.com> wrote: > On 12/16/2012 09:59 AM, Yinghai Lu wrote: >>> diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c >>> index 037df57..a512f56 100644 >>> --- a/arch/x86/kernel/head64.c >>> +++ b/arch/x86/kernel/head64.c >>> @@ -25,6 +25,7 @@ >>> #include <asm/kdebug.h> >>> #include <asm/e820.h> >>> #include <asm/bios_ebda.h> >>> +#include <asm/microcode.h> >>> >>> static void __init zap_identity_mappings(void) >>> { >>> @@ -73,6 +74,11 @@ void __init x86_64_start_kernel(char * real_mode_data) >>> /* clear bss before set_intr_gate with early_idt_handler */ >>> clear_bss(); >>> >>> + /* >>> + * Load microcode early on BSP. >>> + */ >>> + load_ucode_bsp(real_mode_data); >>> + >>> /* Make NULL pointers segfault */ >>> zap_identity_mappings(); >>> >> >> So this patchset is after #PF handler set early page table version? >> >> then load_ucode_bsp() should be after >> >> load_idt((const struct desc_ptr *)&idt_descr); >> > > This patchset isn't before the #PF handler version (you can tell because > it has zap_identity_mappings()), but it does make sense to load the IDT > first.
it has to be rebased after #PF handler version. otherwise it can not handle for framdisk that is loaded after 1G.
Fenghua,
can you post your boot log with 64bit with your patch?
Yinghai
| |