Patchwork [UPDATED,21/27] sparc32, smpboot: Use generic SMP booting infrastructure

login
register
mail settings
Submitter Srivatsa S. Bhat
Date June 1, 2012, 11:17 p.m.
Message ID <4FC94D74.70208@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/162385/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Srivatsa S. Bhat - June 1, 2012, 11:17 p.m.
On 06/02/2012 04:23 AM, David Miller wrote:

> From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
> Date: Sat, 02 Jun 2012 04:17:47 +0530
> 
>>
>> Convert sparc32 to use the generic framework to boot secondary CPUs.
>>
>> Notes:
>> While removing the call to cpu_idle(), we can also remove the call to
>> cpu_panic() because we are calling BUG() in the generic code anyway.
>>
>> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
> 
> Almost there, but not quite yet.
> 
> You can't get rid of the cpu_panic invocations, those have to be there
> after the *_callin calls to catch if they accidently return.
> 


Oh.. ok..

So can I do something like the following, or do you want me to specifically
add call cpu_panic and nop after every *_callin?

the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/sparc/kernel/trampoline_32.S b/arch/sparc/kernel/trampoline_32.S
index 7364ddc..9b2b81d 100644
--- a/arch/sparc/kernel/trampoline_32.S
+++ b/arch/sparc/kernel/trampoline_32.S
@@ -82,15 +82,12 @@  cpu3_startup:
        call    smp4m_callin
         nop
 
-       b,a     smp_do_cpu_idle
+       b,a     do_panic
 
        .text
        .align  4
 
-smp_do_cpu_idle:
-       call    cpu_idle
-        mov    0, %o0
-
+do_panic:
        call    cpu_panic
         nop
 
@@ -147,7 +144,7 @@  sun4d_cpu_startup:
        call    smp4d_callin
         nop
 
-       b,a     smp_do_cpu_idle
+       b,a     do_panic
 
 #ifdef CONFIG_SPARC_LEON
 
@@ -206,6 +203,6 @@  leon_smp_cpu_startup:
        call    leon_callin
         nop
 
-       b,a     smp_do_cpu_idle
+       b,a     do_panic

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in