powerpc/64: mark start_here_multiplatform as __ref
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 10 May 2019 06:31:28 +0000 (06:31 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Sep 2019 06:21:43 +0000 (08:21 +0200)
[ Upstream commit 9c4e4c90ec24652921e31e9551fcaedc26eec86d ]

Otherwise, the following warning is encountered:

WARNING: vmlinux.o(.text+0x3dc6): Section mismatch in reference from the variable start_here_multiplatform to the function .init.text:.early_setup()
The function start_here_multiplatform() references
the function __init .early_setup().
This is often because start_here_multiplatform lacks a __init
annotation or the annotation of .early_setup is wrong.

Fixes: 56c46bba9bbf ("powerpc/64: Fix booting large kernels with STRICT_KERNEL_RWX")
Cc: Russell Currey <ruscur@russell.cc>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/kernel/head_64.S

index 9168a24..3fb564f 100644 (file)
@@ -906,6 +906,7 @@ p_toc:      .8byte  __toc_start + 0x8000 - 0b
 /*
  * This is where the main kernel code starts.
  */
+__REF
 start_here_multiplatform:
        /* set up the TOC */
        bl      relative_toc
@@ -981,6 +982,7 @@ start_here_multiplatform:
        RFI
        b       .       /* prevent speculative execution */
 
+       .previous
        /* This is where all platforms converge execution */
 
 start_here_common: