lkml.org 
[lkml]   [2013]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [3.9-rc1] Bug in bootup code or debug code?
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




\
 
 \ /
  Last update: 2013-03-13 19:21    [W:0.110 / U:0.560 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site