On 03/13/2013 08:22 AM, Yu, Fenghua wrote: >> >> I found the location of "hardware reset" trigger. >> >> It is __pa_symbol(&boot_params) call, for I don't encounter "hardware >> reset" if >> I remove the "//" from below debug patch. >> >> This bug is not yet fixed as of 3.9.0-rc2-00188-g6c23cbb . >> >> --- a/arch/x86/kernel/microcode_intel_early.c >> +++ b/arch/x86/kernel/microcode_intel_early.c >> @@ -741,7 +741,9 @@ load_ucode_intel_bsp(void) >> #ifdef CONFIG_X86_32 >> struct boot_params *boot_params_p; >> >> + //while (1); >> boot_params_p = (struct boot_params *)__pa_symbol(&boot_params); >> + while (1); >> ramdisk_image = boot_params_p->hdr.ramdisk_image; >> ramdisk_size = boot_params_p->hdr.ramdisk_size; >> initrd_start_early = ramdisk_image; > > Tetsuo and Dave, > > That's the place where we suspected to cause the problem. > > My question is: how to access global variable in linear mode in > virtualization? __pa_symbol() is not a problem for native. >
What kind of virtualization are we talking about here? We should not be running this code under any paravirtualized code path -- this is the hypervisor's job to take care of this. For HVM, this should just work the same way. -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/