Port-hp700 archive

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

GENERIC.MP hangs



Hi! Nick,


GENERIC.MP hangs in percpu_alloc().  cpu0 waits cpu1 into idle_loop().
However cpu1 doesn't go idle_loop() on hp700 in
arch/hp700/dev/cpu.c:cpu_hatch().

Please see other archs:
  x86/x86/cpu.c
  powerpc/powerpc/locore_subr.S
  arch/arm/cortex/a9_mpsubr.S

x86/x86/cpu.c:cpu_hatch() ---
void
cpu_hatch(void *v)
{
        :

        aprint_debug_dev(ci->ci_dev, "running\n");

        idle_loop(NULL);
        KASSERT(false);
}
--- x86/x86/cpu.c:cpu_hatch()

powerpc/powerpc/locore_subr.S ---
ENTRY(cpu_spinup_trampoline)
        :

        bl      _C_LABEL(cpu_hatch)
        mr      %r1,%r3
        b       _C_LABEL(idle_loop)

ENTRY(cpu_spinstart)
        :

        bla     _C_LABEL(cpu_hatch)
        mr      %r1,%r3 /* move the return from cpu_hatch to the stackpointer*/
        b       _C_LABEL(idle_loop)
--- powerpc/powerpc/locore_subr.S

Please fix. :)

However,
Oops,  hangs again for another reason after resolved this problem...  X-<
probably I will report again in several months.

Thanks,
--
kiyohara


Home | Main Index | Thread Index | Old Index