This has nothing to do with AMD or intel.
I disagree.
The Tyan s2735 is the only board that sets SERIAL_CPU_INIT to 0. Why? That board happens to be a sister to the boards I'm working with, which have problems with nested spinlocking. This is not an issue of interleaving debug output; the board hangs when initializing the sibling of the 2nd CPU.
I am thinking that the underlying problem is that the start_cpu_lock is being used in places (secondary_cpu_init) where a different lock is called for. The AMD code seems to start secondary/sibling CPUs quite differently than the Intel code. Without some idea of the call sequence for starting up AMD secondary/sibling CPUs it's difficult to know what the effects of switching to a different lock would be.
If someone could sketch out something for AMD like I put together for Intel when I first encountered this issue (http://openbios.org/pipermail/linuxbios/2005-July/011903.html) it might be easier for us to reach some kind of consensus.
------------------------------------------------------------------------ Steven J. Magnani "I claim this network for MARS! www.digidescorp.com Earthling, return my space modulator!"
#include <standard.disclaimer>