[LinuxBIOS] PATCH: nested spinlock hang when initializing x86 sibling CPUs
Steven J. Magnani
steve at digidescorp.com
Fri Sep 9 20:58:52 CEST 2005
> 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>
More information about the coreboot
mailing list