Patchwork powerpc: Fix 32-bit SMP build

login
register
mail settings
Submitter Josh Boyer
Date May 20, 2011, 8:22 p.m.
Message ID <20110520202225.GI25179@zod.rchland.ibm.com>
Download mbox | patch
Permalink /patch/96664/
State Superseded
Headers show

Comments

Josh Boyer - May 20, 2011, 8:22 p.m.
Commit 69e3cea8d5fd526 introduced start_secondary_resume to misc_32.S,
however it uses a 64-bit instruction which is not valid on 32-bit
platforms.  Use 'stw' instead.

Reported-by: Richard Cochran <richardcochran@gmail.com>
Tested-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

---
Greg KH - May 20, 2011, 9:58 p.m.
On Fri, May 20, 2011 at 04:22:25PM -0400, Josh Boyer wrote:
> Commit 69e3cea8d5fd526 introduced start_secondary_resume to misc_32.S,
> however it uses a 64-bit instruction which is not valid on 32-bit
> platforms.  Use 'stw' instead.
> 
> Reported-by: Richard Cochran <richardcochran@gmail.com>
> Tested-by: Richard Cochran <richardcochran@gmail.com>
> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
> 
> ---

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>
Benjamin Herrenschmidt - May 20, 2011, 10:24 p.m.
On Fri, 2011-05-20 at 14:58 -0700, Greg KH wrote:
> On Fri, May 20, 2011 at 04:22:25PM -0400, Josh Boyer wrote:
> > Commit 69e3cea8d5fd526 introduced start_secondary_resume to misc_32.S,
> > however it uses a 64-bit instruction which is not valid on 32-bit
> > platforms.  Use 'stw' instead.
> > 
> > Reported-by: Richard Cochran <richardcochran@gmail.com>
> > Tested-by: Richard Cochran <richardcochran@gmail.com>
> > Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
> > 
> > ---
> 
> <formletter>
> 
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
> for how to do this properly.
> 
> </formletter>

The function is in a different place in 2.6.39 anyways. I'll do a proper
backport when Linus merges this one.

Cheers,
Ben.
Josh Boyer - May 21, 2011, 12:38 a.m.
On Fri, May 20, 2011 at 5:58 PM, Greg KH <greg@kroah.com> wrote:
> On Fri, May 20, 2011 at 04:22:25PM -0400, Josh Boyer wrote:
>> Commit 69e3cea8d5fd526 introduced start_secondary_resume to misc_32.S,
>> however it uses a 64-bit instruction which is not valid on 32-bit
>> platforms.  Use 'stw' instead.
>>
>> Reported-by: Richard Cochran <richardcochran@gmail.com>
>> Tested-by: Richard Cochran <richardcochran@gmail.com>
>> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
>>
>> ---
>
> <formletter>
>
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
> for how to do this properly.
>
> </formletter>

Sigh.  I know that.  My fault for rushing it and not thinking.

josh

Patch

diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 402560e..998a100 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -700,7 +700,7 @@  _GLOBAL(start_secondary_resume)
	rlwinm  r1,r1,0,0,(31-THREAD_SHIFT)     /* current_thread_info() */
	addi    r1,r1,THREAD_SIZE-STACK_FRAME_OVERHEAD
	li      r3,0
-	std     r3,0(r1)                /* Zero the stack frame pointer */
+	stw     r3,0(r1)                /* Zero the stack frame pointer */
	bl      start_secondary
	b       .
 #endif /* CONFIG_SMP */