Re: [PATCH v5 00/12] x86/microcode: Early load microcode

From: Konrad Rzeszutek Wilk
Date: Wed Jan 09 2013 - 08:36:23 EST


On Tue, Jan 08, 2013 at 03:04:33PM -0500, Konrad Rzeszutek Wilk wrote:
> On Tue, Jan 08, 2013 at 11:47:39AM -0800, H. Peter Anvin wrote:
> > On 01/08/2013 11:46 AM, Konrad Rzeszutek Wilk wrote:
> > >
> > > OK. I am trying to figure out whether this usage of native_* for the
> > > MSRs was done on purpose - and it sounds like the answer is no. If so -
> > > can it be done using the normal 'safe_rdmsr' and 'wrmsr'?
> > >
> > > That would allow at least in the case of Xen, to omit a whole bunch
> > > of MSR writes/reads during the boot that are not neccessary as we would
> > > not trap in the hypervisor - but could use the pvops version of
> > > read/write MSR calls to just do a nop.
> > >
> >
> > Why is this code invoked on Xen at all? That seems crazy.
>
> [PATCH v4 09/11] x86/head64.c: Early update ucode in 64-bit
>
> has this in x86_64_start_kernel:
>
> ..
> load_idt((const struct desc_ptr *)&idt_descr);
>
> + /*
> + * Load microcode early on BSP.
> + */
> + load_ucode_bsp(__va(real_mode_data));
> +
> copy_bootdata(__va(real_mode_data));
>
> Which gets called after xen_start_kernel has setup pagetables,
> bootparams, etc ready for the generic code to be invoked.

And I am looking at the wrong code. The "x86_64_start_kernel" is
absolutly fine. It is "x86_64_start_reservations" that is invoked by Xen.

I got thrown off by the "copy_bootdata(.." which on v3.7 is in
"x86_64_start_reservations".

Duh!
>
> Or am I looking at an old version of these patches.
> >
> > -hpa
> >
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/