diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2005-11-03 20:09:42 -0500 |
---|---|---|
committer | Michael Ellerman <michael@ellerman.id.au> | 2005-11-03 20:09:42 -0500 |
commit | b8f510219edc719d4c305918e16edc578bcfc16f (patch) | |
tree | 7f0303abf4ce15d1f35516ee36fc8aebc270db6d /arch/ppc64 | |
parent | 40765d2b8b86446b4ac8ec880cf4fdf56ce4ae7e (diff) |
powerpc: Implement smp_release_cpus() in C not asm
There's no reason for smp_release_cpus() to be asm, and most people can make
more sense of C code. Add an extern declaration to smp.h and remove the custom
one in machine_kexec.c
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch/ppc64')
-rw-r--r-- | arch/ppc64/kernel/head.S | 18 | ||||
-rw-r--r-- | arch/ppc64/kernel/machine_kexec.c | 1 |
2 files changed, 0 insertions, 19 deletions
diff --git a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S index 0b65efe1682e..db1cf397be2d 100644 --- a/arch/ppc64/kernel/head.S +++ b/arch/ppc64/kernel/head.S | |||
@@ -1914,24 +1914,6 @@ _GLOBAL(hmt_start_secondary) | |||
1914 | blr | 1914 | blr |
1915 | #endif | 1915 | #endif |
1916 | 1916 | ||
1917 | #if defined(CONFIG_KEXEC) || defined(CONFIG_SMP) | ||
1918 | _GLOBAL(smp_release_cpus) | ||
1919 | /* All secondary cpus are spinning on a common | ||
1920 | * spinloop, release them all now so they can start | ||
1921 | * to spin on their individual paca spinloops. | ||
1922 | * For non SMP kernels, the secondary cpus never | ||
1923 | * get out of the common spinloop. | ||
1924 | * XXX This does nothing useful on iSeries, secondaries are | ||
1925 | * already waiting on their paca. | ||
1926 | */ | ||
1927 | li r3,1 | ||
1928 | LOADADDR(r5,__secondary_hold_spinloop) | ||
1929 | std r3,0(r5) | ||
1930 | sync | ||
1931 | blr | ||
1932 | #endif /* CONFIG_SMP */ | ||
1933 | |||
1934 | |||
1935 | /* | 1917 | /* |
1936 | * We put a few things here that have to be page-aligned. | 1918 | * We put a few things here that have to be page-aligned. |
1937 | * This stuff goes at the beginning of the bss, which is page-aligned. | 1919 | * This stuff goes at the beginning of the bss, which is page-aligned. |
diff --git a/arch/ppc64/kernel/machine_kexec.c b/arch/ppc64/kernel/machine_kexec.c index bf7cc4f8210f..ff8679f260f3 100644 --- a/arch/ppc64/kernel/machine_kexec.c +++ b/arch/ppc64/kernel/machine_kexec.c | |||
@@ -244,7 +244,6 @@ static void kexec_prepare_cpus(void) | |||
244 | 244 | ||
245 | static void kexec_prepare_cpus(void) | 245 | static void kexec_prepare_cpus(void) |
246 | { | 246 | { |
247 | extern void smp_release_cpus(void); | ||
248 | /* | 247 | /* |
249 | * move the secondarys to us so that we can copy | 248 | * move the secondarys to us so that we can copy |
250 | * the new kernel 0-0x100 safely | 249 | * the new kernel 0-0x100 safely |