kernel-ark/arch/powerpc/platforms
Benjamin Herrenschmidt c478b58135 powerpc/powermac: Fix occasional SMP boot failure
The PowerMac kernel occasionally fails to bring up the secondary CPUs on
SMP, the trigger factor seem to be fairly random and related to location
of code and data.

This appears to be due to the initial loading of the TOC value by the
secondary processor which now happens before we clear HID4:RM_CI (Real
Mode Cache Invalidate). This bit should really be cleared before we do
any load or store other than fetching code.

This fix works based on the assumption that all SMP 64-bit PowerMacs use
variants of the 970, which fortunately is true, by explicitely clearing
that bit, adding an slbia for good measure as RM_CI mode is known to
create bogus ERAT entries.

I also removed some spurrious debug output that was left enabled by
mistake while at it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-01-13 14:48:03 +11:00
..
8xx powerpc: Add support for the MPC852 based mgsuvd board from keymile. 2008-09-16 10:01:30 -05:00
40x powerpc: Introduce ppc_pci_flags accessors 2008-12-16 15:53:16 +11:00
44x powerpc: Introduce ppc_pci_flags accessors 2008-12-16 15:53:16 +11:00
52xx powerpc/mpc52xx: remove dead code from GPIO driver 2009-01-09 15:49:05 -07:00
82xx powerpc: Introduce ppc_pci_flags accessors 2008-12-16 15:53:16 +11:00
83xx powerpc/83xx: Fix few build errors with CONFIG_QUICC_ENGINE=n 2008-12-30 11:14:05 -06:00
85xx powerpc/85xx: Add local_irq_restore in error handling code 2008-12-30 11:35:30 -06:00
86xx powerpc/86xx: Basic GPIO support for GE Fanuc SBC610 2008-12-03 10:47:37 -06:00
512x powerpc/mpc5121: fix NULL test in mpc5121_clk_get utility function. 2009-01-09 15:49:04 -07:00
cell powerpc: Cleanup from l64 to ll64 change: arch code 2009-01-13 14:47:59 +11:00
chrp powerpc: Introduce ppc_pci_flags accessors 2008-12-16 15:53:16 +11:00
embedded6xx powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
iseries powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
maple powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
pasemi powerpc: Fix cpufreq drivers after cpufreq core changes 2009-01-11 21:32:01 -08:00
powermac powerpc/powermac: Fix occasional SMP boot failure 2009-01-13 14:48:03 +11:00
prep
ps3 mtd/ps3vram: Add ps3vram driver for accessing video RAM as MTD 2009-01-08 16:25:14 +11:00
pseries powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
fsl_uli1575.c powerpc: Fix the ide suspend function in uli1575 2009-01-07 09:18:52 -06:00
Kconfig powerpc: Implement GPIO driver for simple memory-mapped banks 2008-12-30 11:13:45 -06:00
Kconfig.cputype powerpc/85xx: Enable SMP support 2008-12-30 11:30:41 -06:00
Makefile powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00