According to Kanoj Sarcar ...
>
> >
> > I've verified that with just a single processor enabled the SMP kernel will
> > hang even earlier, right after the ``POSIX conformance testing'' printout.
> >
> > Investigating ...
> >
> > Ralf
> >
>
> 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
If you disable a cpu in the prom, the cpu is dead. It will not
interfere with anything. There are certain
datastructs etc in the prom that tell you this. vmlinux may want
to read them and setup initial data structs.
Look into irix/kern/ml/SN/*.c for how irix does this.
> later (maybe next week), since it also ties in to processor virtual/physical
> numbering.
This is also very important given that linux uses data structs indexed
on cpuid. Just like cnodeid and nasid, we have a compact cpu id and
a calculated cpuid (nasid*NUMCPUSPERNODE) + CPUIDONNODE
Thanks
srinivasa
>
> 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++;
> }
>
> Kanoj
>
|