armv7: Mark the default lowlevel_init function as weak
Rather than have a long and if check in the Makefile, mark the default lowlevel_init function as weak (as we do on armv8) so that SoCs can override it if needed, and it will still be discarded if unused. Provide a weak s_init as well to allow for this to link and be discarded. Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
7c0c6be52c
commit
ffb5656862
@ -12,11 +12,9 @@ obj-y += cache_v7.o cache_v7_asm.o
|
||||
obj-y += cpu.o cp15.o
|
||||
obj-y += syslib.o
|
||||
|
||||
ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_MX7)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_ARCH_SUNXI)$(CONFIG_ARCH_SOCFPGA)$(CONFIG_ARCH_MX7ULP)$(CONFIG_ARCH_LS1021A),)
|
||||
ifneq ($(CONFIG_SKIP_LOWLEVEL_INIT),y)
|
||||
obj-y += lowlevel_init.o
|
||||
endif
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_ARM_SMCCC) += smccc-call.o
|
||||
obj-$(CONFIG_ARMV7_NONSEC) += nonsec_virt.o virt-v7.o virt-dt.o
|
||||
|
@ -15,7 +15,14 @@
|
||||
#include <config.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
ENTRY(lowlevel_init)
|
||||
.pushsection .text.s_init, "ax"
|
||||
WEAK(s_init)
|
||||
bx lr
|
||||
ENDPROC(s_init)
|
||||
.popsection
|
||||
|
||||
.pushsection .text.lowlevel_init, "ax"
|
||||
WEAK(lowlevel_init)
|
||||
/*
|
||||
* Setup a temporary stack. Global data is not available yet.
|
||||
*/
|
||||
@ -61,3 +68,4 @@ ENTRY(lowlevel_init)
|
||||
bl s_init
|
||||
pop {ip, pc}
|
||||
ENDPROC(lowlevel_init)
|
||||
.popsection
|
||||
|
Loading…
Reference in New Issue
Block a user