linux-origin
[Top] [All Lists]

Re: Kernel hang ...

To: ralf@xxxxxxxxxxx (Ralf Baechle)
Subject: Re: Kernel hang ...
From: kanoj@xxxxxxxxxxxxxxxxxxx (Kanoj Sarcar)
Date: Wed, 10 May 2000 11:19:44 -0700 (PDT)
Cc: linux-origin@xxxxxxxxxxx
In-reply-to: <20000510201236.B8025@uni-koblenz.de> from "Ralf Baechle" at May 10, 2000 08:12:36 PM
Sender: owner-linux-origin@xxxxxxxxxxx
> 
> On Wed, May 10, 2000 at 10:51:41AM -0700, Kanoj Sarcar wrote:
> 
> > Depends on how you "disable" the other processors. Prom level disabling
> > has not been tested at all, and I would suggest leaving that for a little
> > later (maybe next week), since it also ties in to processor virtual/physical
> > numbering. 
> > 
> > If you want to come up on a CONFIG_SMP kernel with just 1 processor,
> > hack do_cpumask(), specifically, #if 0 out the code block
> > 
> >                         if (cpuid > *highest)
> >                                 *highest = cpuid;
> >                         /* Only let it join in if it's marked enabled */
> >                         if (acpu->cpu_info.flags & KLINFO_ENABLE) {
> >                                 CPUMASK_SETB(*boot_cpumask, cpuid);
> >                                 cpus_found++;
> >                         }
> 
> The machine actually freezes is the line
> 
>         if (maxcpus > 1) while(atomic_read(&numstarted) == 0);
> 
> In my case there is only a single enabled CPU, so the numstarted will
> stay 0 and the kernel freezes.

Let me ask you again. How are you defining "enabled" and "disabled"?
If you are using the PROM definition, things are not going to work.
I would suggest PROM-enabling both cpus, and applying the above hack 
to get a SMP kernel with a single cpu. This will make sure maxcpus = 1,
so you will not get stuck where you are now ...

> 
> With both CPUs enabled I get somewhat further, the kernel then freezes
> after probing the caches.  Will take a look at this next.

Leo had a similar problem. Try "make ARCH=mips64 config; make ARCH=mips64 
dep; make ARCH=mips64 clean; make ARCH=mips64 vmlinux.64" to ensure
a clean build.

Kanoj
> 
>   Ralf
> 


<Prev in Thread] Current Thread [Next in Thread>