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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux