Thread (2 messages) 2 messages, 2 authors, 2013-02-03

Re: CPU hang on cpu_wait in CPU_74K

From: Hauke Mehrtens <hauke@hauke-m.de>
Date: 2013-02-03 11:35:29

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:
quoted
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
quoted
c->processor_id & 0xff
on my machine, but I've tried forcing both:
quoted
cpu_wait = r4k_wait;
and
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help