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. 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/