ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC
authorVladimir Murzin <vladimir.murzin@arm.com>
Thu, 25 Nov 2021 11:05:19 +0000 (12:05 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 17 Dec 2021 12:02:16 +0000 (12:02 +0000)
__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: 95731b8ee63e ("ARM: 9059/1: cache-v7: get rid of mini-stack")
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/head-nommu.S

index fadfee9..950bef8 100644 (file)
@@ -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
        ldr     r0, [r7, #16]                   @ set up task pointer
        mov     fp, #0