Re: CPU hang on cpu_wait in CPU_74K

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/01/2013 11:44 PM, Rafał Miłecki wrote:
> Hello again ;)
> 
> I'm hacking a BCM4706 based board which uses a 74K CPU. The problem is
> that wait_cpu (see cpu-probe.c) hangs my machine (is happens as soon
> as the first [um]sleep is called).
> 
> The hang is related to the cpu-probe.c and:
>> cpu_wait = r4k_wait;
>> if ((c->processor_id & 0xff) >= PRID_REV_ENCODE_332(2, 1, 0))
>> 	cpu_wait = r4k_wait_irqoff;
> 
> If I remove that lines completely [um]sleep doesn't hang machine
> anymore. I'm not sure if removing that code is a proper solution. I'm
> not sure what is the
>> c->processor_id & 0xff
> on my machine, but I've tried forcing both:
>> cpu_wait = r4k_wait;
> and
>> cpu_wait = r4k_wait_irqoff;
> and both are causing hangs.
> 
> If I recall correctly, Hauke was checking Broadcom's code and they're
> using the same solution: removing that lines completely.
> 
> Do you have any idea how this could be solved?
> 
Hello Rafał,

In the Linux kernel form the Broadcom SDK the lines you mentioned are
removed, but we can not do this in the mainline kernel as this would
also affect some other non broken Broadcom MIPS CPUs. I talked about
this with Ralf some days ago and he said we should add cpu_wait = NULL;
somewhere in the platform specific code. This problem seams to just
affect the 74K CPU used on the BCM4706 and not on the other Broadcom SoC
using a 74K CPU.

Hauke


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux