• Paul Mackerras's avatar
    [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs · d6a29252
    Paul Mackerras authored
    On the old "powersurge" SMP powermacs, the second CPU is started up
    by sending it an IPI, which has the side effect of stopping the
    timebase clock (so the secondary CPU's timebase can be synchronized
    with the primary's).  The routine that did this used udelay, which
    will hang forever when the timebase is stopped, since udelay now spins
    until the timebase reaches a certain value.
    
    The end result is that the kernel would hang when bringing up the
    second CPU.  This fixes it by using a simple loop which just does a
    fixed number of iterations to generate the delay.  These old systems
    were all clocked at around 200 MHz or so, so a fixed number of
    iterations is acceptable.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    d6a29252
smp.c 22.2 KB