[PATCH 5/10] ppc64: Make smp_release_cpus() callable on iSeries
Michael Ellerman
michael at ellerman.id.au
Wed Aug 10 14:18:38 EST 2005
We don't need to call smp_release_cpus() on iSeries but it's harmless
if we do and it removes another #ifdef ISERIES.
Signed-off-by: Michael Ellerman <michael at ellerman.id.au>
---
arch/ppc64/kernel/head.S | 6 ++++--
arch/ppc64/kernel/setup.c | 8 ++++----
2 files changed, 8 insertions(+), 6 deletions(-)
Index: work/arch/ppc64/kernel/head.S
===================================================================
--- work.orig/arch/ppc64/kernel/head.S
+++ work/arch/ppc64/kernel/head.S
@@ -1952,20 +1952,22 @@ _GLOBAL(hmt_start_secondary)
blr
#endif
-#if defined(CONFIG_KEXEC) || (defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES))
+#if defined(CONFIG_KEXEC) || defined(CONFIG_SMP)
_GLOBAL(smp_release_cpus)
/* All secondary cpus are spinning on a common
* spinloop, release them all now so they can start
* to spin on their individual paca spinloops.
* For non SMP kernels, the secondary cpus never
* get out of the common spinloop.
+ * XXX This does nothing useful on iSeries, secondaries are
+ * already waiting on their paca.
*/
li r3,1
LOADADDR(r5,__secondary_hold_spinloop)
std r3,0(r5)
sync
blr
-#endif /* CONFIG_SMP && !CONFIG_PPC_ISERIES */
+#endif /* CONFIG_SMP */
/*
Index: work/arch/ppc64/kernel/setup.c
===================================================================
--- work.orig/arch/ppc64/kernel/setup.c
+++ work/arch/ppc64/kernel/setup.c
@@ -182,7 +182,7 @@ void __init disable_early_printk(void)
early_console_initialized = 0;
}
-#if defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP)
+#ifdef CONFIG_SMP
static int smt_enabled_cmdline;
@@ -335,7 +335,7 @@ static void __init setup_cpu_maps(void)
systemcfg->processorCount = num_present_cpus();
}
-#endif /* defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP) */
+#endif /* CONFIG_SMP */
#ifdef CONFIG_PPC_MULTIPLATFORM
@@ -645,7 +645,7 @@ void __init setup_system(void)
parse_early_param();
#endif /* !CONFIG_PPC_ISERIES */
-#if defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES)
+#ifdef CONFIG_SMP
/*
* iSeries has already initialized the cpu maps at this point.
*/
@@ -655,7 +655,7 @@ void __init setup_system(void)
* we can map physical -> logical CPU ids
*/
smp_release_cpus();
-#endif /* defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES) */
+#endif
printk("Starting Linux PPC64 %s\n", UTS_RELEASE);
More information about the Linuxppc64-dev
mailing list