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

From: Srivatsa S. Bhat
Date: Fri Jun 01 2012 - 19:18:23 EST


On 06/02/2012 04:23 AM, David Miller wrote:

> From: "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxxxxxx>
>
> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/