lkml.org 
[lkml]   [2012]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [tip:x86/microcode] x86/microcode_intel_early.c: Early update ucode on Intel's CPU
Date
> -----Original Message-----
> From: yhlu.kernel@gmail.com [mailto:yhlu.kernel@gmail.com] On Behalf Of
> Yinghai Lu
> Sent: Tuesday, December 11, 2012 9:16 AM
> To: Borislav Petkov; Yinghai Lu; H. Peter Anvin; Yu, Fenghua;
> mingo@kernel.org; linux-kernel@vger.kernel.org; tglx@linutronix.de;
> hpa@linux.intel.com; linux-tip-commits@vger.kernel.org
> Subject: Re: [tip:x86/microcode] x86/microcode_intel_early.c: Early
> update ucode on Intel's CPU
>
> On Tue, Dec 11, 2012 at 9:06 AM, Borislav Petkov <bp@alien8.de> wrote:
> > On Tue, Dec 11, 2012 at 09:00:55AM -0800, Yinghai Lu wrote:
> >> ok, then next question is how early it should be.
> >>
> >> before early_cpu_init/early_identify_cpu
> >>
> >> or just before check_bugs/identify_cpu
> >
> > Read the code. It's in x86_64_start_kernel on 64-bit.
> >
>
> No, that is not right place. initrd could be loaded anywhere like way
> high by bootloader.
>
> to make code simple, we should have following sequence in setup_arch
>
> early_ioremap_init()
> early_update_microcode()...
> early_cpu_init()
>
> early_update_microcode could use early_ioremap to access initrd ramdisk
> area.

The problem is mainly from 32-bit. We need to load microcode before paging is enabled (I'm changing load_ucode_intel_ap to be called before paging as well). That makes the coding not simple. It's better to load ucode as early as possible in 64-bit as well. I don't want to have two totally different sets of early loading ucode for 64-bit and 32-bit.

Thanks.

-Fenghua


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