diff mbox series

ARM: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC

Message ID 20211125104841.46128-1-vladimir.murzin@arm.com (mailing list archive)
State New, archived
Headers show
Series ARM: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC | expand

Commit Message

Vladimir Murzin Nov. 25, 2021, 10:48 a.m. UTC
__secondary_data used to reside in r7 around call to
PROCINFO_INITFUNC. After commit 95731b8ee63e ("ARM: 9059/1: cache-v7:
get rid of mini-stack") r7 is used as a scratch register, so we have
to reload __secondary_data before we setup the stack pointer.

Fixes: 95731b8ee63ec9419822a51cd9878fa32582fdd2 ("ARM: 9059/1: cache-v7: get rid of mini-stack")

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
---
 arch/arm/kernel/head-nommu.S | 1 +
 1 file changed, 1 insertion(+)

Comments

Russell King (Oracle) Nov. 25, 2021, 10:58 a.m. UTC | #1
On Thu, Nov 25, 2021 at 10:48:41AM +0000, Vladimir Murzin wrote:
> __secondary_data used to reside in r7 around call to
> PROCINFO_INITFUNC. After commit 95731b8ee63e ("ARM: 9059/1: cache-v7:
> get rid of mini-stack") r7 is used as a scratch register, so we have
> to reload __secondary_data before we setup the stack pointer.
> 
> Fixes: 95731b8ee63ec9419822a51cd9878fa32582fdd2 ("ARM: 9059/1: cache-v7: get rid of mini-stack")

Documentation/process/submitting-patches.rst requests only 12 digits for
the sha1 in the fixes line, which makes this:

Fixes: 95731b8ee63e ("ARM: 9059/1: cache-v7: get rid of mini-stack")

and avoids it being unnecessarily long. Please make that change before
sending it to the patch system, thanks.

Other than that, patch looks good, thanks.

> 
> Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
> ---
>  arch/arm/kernel/head-nommu.S | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
> index 0fc814b..8796a69 100644
> --- a/arch/arm/kernel/head-nommu.S
> +++ b/arch/arm/kernel/head-nommu.S
> @@ -114,6 +114,7 @@ ENTRY(secondary_startup)
>  	add	r12, r12, r10
>  	ret	r12
>  1:	bl	__after_proc_init
> +	ldr	r7, __secondary_data		@ reload r7
>  	ldr	sp, [r7, #12]			@ set up the stack pointer
>  	mov	fp, #0
>  	b	secondary_start_kernel
> -- 
> 2.7.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Vladimir Murzin Nov. 25, 2021, 11:09 a.m. UTC | #2
On 11/25/21 10:58 AM, Russell King (Oracle) wrote:
> On Thu, Nov 25, 2021 at 10:48:41AM +0000, Vladimir Murzin wrote:
>> __secondary_data used to reside in r7 around call to
>> PROCINFO_INITFUNC. After commit 95731b8ee63e ("ARM: 9059/1: cache-v7:
>> get rid of mini-stack") r7 is used as a scratch register, so we have
>> to reload __secondary_data before we setup the stack pointer.
>>
>> Fixes: 95731b8ee63ec9419822a51cd9878fa32582fdd2 ("ARM: 9059/1: cache-v7: get rid of mini-stack")
> 
> Documentation/process/submitting-patches.rst requests only 12 digits for
> the sha1 in the fixes line, which makes this:
> 
> Fixes: 95731b8ee63e ("ARM: 9059/1: cache-v7: get rid of mini-stack")
> 
> and avoids it being unnecessarily long. Please make that change before
> sending it to the patch system, thanks.

Done.

> 
> Other than that, patch looks good, thanks.

Thanks for prompt feedback!

Cheers
Vladimir

> 
>>
>> Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
>> ---
>>  arch/arm/kernel/head-nommu.S | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
>> index 0fc814b..8796a69 100644
>> --- a/arch/arm/kernel/head-nommu.S
>> +++ b/arch/arm/kernel/head-nommu.S
>> @@ -114,6 +114,7 @@ ENTRY(secondary_startup)
>>  	add	r12, r12, r10
>>  	ret	r12
>>  1:	bl	__after_proc_init
>> +	ldr	r7, __secondary_data		@ reload r7
>>  	ldr	sp, [r7, #12]			@ set up the stack pointer
>>  	mov	fp, #0
>>  	b	secondary_start_kernel
>> -- 
>> 2.7.4
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>
diff mbox series

Patch

diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
index 0fc814b..8796a69 100644
--- a/arch/arm/kernel/head-nommu.S
+++ b/arch/arm/kernel/head-nommu.S
@@ -114,6 +114,7 @@  ENTRY(secondary_startup)
 	add	r12, r12, r10
 	ret	r12
 1:	bl	__after_proc_init
+	ldr	r7, __secondary_data		@ reload r7
 	ldr	sp, [r7, #12]			@ set up the stack pointer
 	mov	fp, #0
 	b	secondary_start_kernel