ppc32: Fix PowerMac SMP to work with G5s

parent 7189c465
...@@ -332,7 +332,7 @@ pmac_setup_arch(void) ...@@ -332,7 +332,7 @@ pmac_setup_arch(void)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
/* Check for Core99 */ /* Check for Core99 */
if (find_devices("uni-n")) if (find_devices("uni-n") || find_devices("u3"))
ppc_md.smp_ops = &core99_smp_ops; ppc_md.smp_ops = &core99_smp_ops;
else else
ppc_md.smp_ops = &psurge_smp_ops; ppc_md.smp_ops = &psurge_smp_ops;
......
...@@ -556,9 +556,19 @@ static void __init smp_core99_setup_cpu(int cpu_nr) ...@@ -556,9 +556,19 @@ static void __init smp_core99_setup_cpu(int cpu_nr)
/* Setup openpic */ /* Setup openpic */
do_openpic_setup_cpu(); do_openpic_setup_cpu();
/* Setup L2/L3 */ if (cpu_nr == 0) {
if (cpu_nr == 0) #ifdef CONFIG_POWER4
extern void g5_phy_disable_cpu1(void);
/* If we didn't start the second CPU, we must take
* it off the bus
*/
if (machine_is_compatible("MacRISC4") &&
num_online_cpus() < 2)
g5_phy_disable_cpu1();
#endif /* CONFIG_POWER4 */
if (ppc_md.progress) ppc_md.progress("core99_setup_cpu 0 done", 0x349); if (ppc_md.progress) ppc_md.progress("core99_setup_cpu 0 done", 0x349);
}
} }
void __init smp_core99_take_timebase(void) void __init smp_core99_take_timebase(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment