Hardy proposed 2.6.24-20-generic kernel will not boot

Tim Gardner tcanonical at tpi.com
Sat Aug 2 14:10:24 UTC 2008


Tim Gardner wrote:
> Alok Kataria wrote:
>> On Fri, 2008-07-25 at 15:34 -0700, Alok Kataria wrote:
>>> On Fri, 2008-07-25 at 14:36 -0700, Tim Gardner wrote:
>>>> Alok,
>>>>
>>>> Have a look at LP Bugs #251344 and #251379
>>>>
>>>> https://bugs.launchpad.net/bugs/251344
>>>> https://bugs.launchpad.net/bugs/251379
>>>>
>>>> The CPUID patch set is the most likely culprit. Any thoughts?
>>> Can you try this patch, i don't see the problem on any of the cpu's that
>>> i have here. 
>>>
>>> --
>>> Fix for processors which don't support SSE instructions
>> Actually the commit message is wrong, it should be SSE2.
>>
>> Searching through the mainline trees git logs, i found this
>>
>> commit aa6299926950c8dfe2fea638276cad6def092bc9
>> Author: Ingo Molnar <mingo at elte.hu>
>> Date:   Fri Feb 1 23:45:18 2008 +0100
>>
>>     x86: fix bootup crash in native_read_tsc()
>>     
>>     fix bootup crash in native_read_tsc() that was reported on an Athlon-XP
>>     and bisected. The correct feature boundary for X86_FEATURE_MFENCE_RDTSC
>>     is not XMM but XMM2.
>>
>>
>> So the patch that i sent earlier should surely fix the problem. 
>>> From: Alok N Kataria <akataria at vmware.com>
>>>
>>>
>>> ---
>>>
>>>  arch/x86/kernel/cpu/amd.c   |    2 +-
>>>  arch/x86/kernel/cpu/intel.c |    2 +-
>>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>>
>>> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
>>> index aaa8101..6558ce8 100644
>>> --- a/arch/x86/kernel/cpu/amd.c
>>> +++ b/arch/x86/kernel/cpu/amd.c
>>> @@ -302,7 +302,7 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>>>  	if (c->x86 < 6)
>>>  		clear_bit(X86_FEATURE_MCE, c->x86_capability);
>>>  
>>> -	if (cpu_has_xmm)
>>> +	if (cpu_has_xmm2)
>>>  		set_bit(X86_FEATURE_MFENCE_RDTSC, c->x86_capability);
>>>  }
>>>  
>>> diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
>>> index 161bbc0..62e5a4b 100644
>>> --- a/arch/x86/kernel/cpu/intel.c
>>> +++ b/arch/x86/kernel/cpu/intel.c
>>> @@ -201,7 +201,7 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
>>>  	}
>>>  #endif
>>>  
>>> -	if (cpu_has_xmm)
>>> +	if (cpu_has_xmm2)
>>>  		set_bit(X86_FEATURE_LFENCE_RDTSC, c->x86_capability);
>>>  	if (c->x86 == 15) {
>>>  		set_bit(X86_FEATURE_P4, c->x86_capability);
>>>
>>>
>>>> I don't have programmer references for all of these CPUs, though I
>>>> suppose I might be able to find them on-line.
>>>>
>>>> rtg
>>>> --
>>>> Tim Gardner tim.gardner at canonical.com
> 
> I cherry-picked aa6299926950c8dfe2fea638276cad6def092bc9 and will upload
>  a new kernel this sometime weekend. Thanks for your quick response.
> 
> rtg
> 

It appears that this fixed the issue with CPUs that don't support RDTSC.

-- 
Tim Gardner tim.gardner at ubuntu.com




More information about the kernel-team mailing list