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

From
Srivatsa S. Bhat <hidden>
Date
2012-06-01 23:18:05
Also in
lkml, sparclinux
Reply to
David Miller, 2012-06-01
On 06/02/2012 04:23 AM, David Miller wrote:
From: "Srivatsa S. Bhat" <redacted>
Date: Sat, 02 Jun 2012 04:17:47 +0530
quoted
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 <redacted>
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?
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
Thread (81 messages) 81 messages, 12 authors, last reply 2012-06-05
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help