H. Peter Anvin wrote: > 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 > H. Peter Anvin wrote: > This is a CONFIG_DEBUG_VIRTUAL configuration, isn't it?
Yes. CONFIG_MICROCODE_INTEL_EARLY=y && CONFIG_64BIT=n && CONFIG_DEBUG_VIRTUAL=y on VMware Workstation/Player environment. -- 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/