lkml.org 
[lkml]   [2012]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-bit
Date
> -----Original Message-----
> From: yhlu.kernel@gmail.com [mailto:yhlu.kernel@gmail.com] On Behalf Of
> Yinghai Lu
> Sent: Sunday, December 16, 2012 9:59 AM
> To: Yu, Fenghua
> Cc: H Peter Anvin; Ingo Molnar; Thomas Gleixner; Mallick, Asit K;
> Tigran Aivazian; Andreas Herrmann; Borislav Petkov; linux-kernel; x86
> Subject: Re: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-
> bit
>
> On Sun, Dec 16, 2012 at 2:43 AM, Fenghua Yu <fenghua.yu@intel.com>
> wrote:
> > From: Fenghua Yu <fenghua.yu@intel.com>
> >
> > This updates ucode in 64-bit mode. Paging and virtual address are
> working now.
> >
> > Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> > ---
> > arch/x86/kernel/head64.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > 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);
>
> otherwise it will not work.
>
> Yinghai

load_ucode_bsp() only accesses initrd image, a few global variables. It doesn't call any other kernel functions (e.g. printk or kmalloc()). It is like this mainly because it works on both 32 and 64 bit.

So there is no PF and idt should not impact the function, right?

Thanks.

-Fenghua


\
 
 \ /
  Last update: 2012-12-16 19:41    [W:1.469 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site