linux/arch/powerpc/platforms/powermac
Paul Mackerras d6a29252ad [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs
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: Paul Mackerras <paulus@samba.org>
2006-10-10 13:51:00 +10:00
..
backlight.c Merge branch 'merge' 2006-08-01 10:37:25 +10:00
bootx_init.c [POWERPC] Fix BootX booting with an initrd 2006-08-23 15:51:18 +10:00
cache.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpufreq_32.c [POWERPC] powermac: Constify & voidify get_property() 2006-07-31 15:55:05 +10:00
cpufreq_64.c [PATCH] completions: lockdep annotate on stack completions 2006-10-01 00:39:24 -07:00
feature.c [PATCH] more fallout from get_property returning pointer to const 2006-09-23 11:34:43 -07:00
low_i2c.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
Makefile [PATCH] 3/5 powerpc: Add platform functions interpreter 2006-01-09 15:47:18 +11:00
nvram.c [PATCH] completions: lockdep annotate on stack completions 2006-10-01 00:39:24 -07:00
pci.c Merge branch 'merge' 2006-08-01 10:37:25 +10:00
pfunc_base.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
pfunc_core.c [POWERPC] powermac: Constify & voidify get_property() 2006-07-31 15:55:05 +10:00
pic.c [POWERPC] Fix up after irq changes 2006-10-07 22:08:26 +10:00
pic.h [POWERPC] Fix up after irq changes 2006-10-07 22:08:26 +10:00
pmac.h [POWERPC] Add new interrupt mapping core and change platforms to use it 2006-07-03 21:36:01 +10:00
setup.c [POWERPC] powermac: Constify & voidify get_property() 2006-07-31 15:55:05 +10:00
sleep.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smp.c [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs 2006-10-10 13:51:00 +10:00
time.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
udbg_adb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
udbg_scc.c [POWERPC] Get default baud rate in udbg_scc 2006-10-04 14:52:31 +10:00