RE: [3.9-rc1] Bug in bootup code or debug code?

From: Yu, Fenghua
Date: Tue Mar 19 2013 - 18:12:46 EST


> From: Tetsuo Handa [mailto:penguin-kernel@xxxxxxxxxxxxxxxxxxx]
> 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.

Tetsuo,

I just now sent out a patch to fix this issue and you are in the list.

Could you please verify if it fixes the issue you saw?

Thanks.

-Fenghua
--
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/