
On 1/24/22 7:15 PM, Andre Przywara wrote:
When we added Allwinner SoC support to ARMv8, we needed to pull in an implementation of lowlevel_init, as sunxi required it at this time.
The last few patches got rid of this bogus requirement, and as sunxi was still the only user, we can now remove lowlevel_init from ARMv8 altogether.
Well, we are removing lowlevel_init.S anyway. There is still a weak definition of lowlevel_init in arch/arm/cpu/armv8/start.S, which we are now picking up.
Signed-off-by: Andre Przywara andre.przywara@arm.com
Reviewed-by: Samuel Holland samuel@sholland.org
arch/arm/cpu/armv8/Makefile | 1 - arch/arm/cpu/armv8/lowlevel_init.S | 43 ------------------------------ arch/arm/mach-sunxi/board.c | 4 --- 3 files changed, 48 deletions(-) delete mode 100644 arch/arm/cpu/armv8/lowlevel_init.S
diff --git a/arch/arm/cpu/armv8/Makefile b/arch/arm/cpu/armv8/Makefile index d85ddde430a..85fe0475c86 100644 --- a/arch/arm/cpu/armv8/Makefile +++ b/arch/arm/cpu/armv8/Makefile @@ -42,6 +42,5 @@ obj-$(CONFIG_FSL_LAYERSCAPE) += fsl-layerscape/ obj-$(CONFIG_S32V234) += s32v234/ obj-$(CONFIG_TARGET_HIKEY) += hisilicon/ obj-$(CONFIG_ARMV8_PSCI) += psci.o -obj-$(CONFIG_ARCH_SUNXI) += lowlevel_init.o obj-$(CONFIG_TARGET_BCMNS3) += bcmns3/ obj-$(CONFIG_XEN) += xen/ diff --git a/arch/arm/cpu/armv8/lowlevel_init.S b/arch/arm/cpu/armv8/lowlevel_init.S deleted file mode 100644 index f4f0cdce9b3..00000000000 --- a/arch/arm/cpu/armv8/lowlevel_init.S +++ /dev/null @@ -1,43 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/*
- A lowlevel_init function that sets up the stack to call a C function to
- perform further init.
- */
-#include <asm-offsets.h> -#include <config.h> -#include <linux/linkage.h>
-ENTRY(lowlevel_init)
- /*
* Setup a temporary stack. Global data is not available yet.
*/
-#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_STACK)
- ldr w0, =CONFIG_SPL_STACK
-#else
- ldr w0, =CONFIG_SYS_INIT_SP_ADDR
-#endif
- bic sp, x0, #0xf /* 16-byte alignment for ABI compliance */
- /*
* Save the old LR(passed in x29) and the current LR to stack
*/
- stp x29, x30, [sp, #-16]!
- /*
* Call the very early init function. This should do only the
* absolute bare minimum to get started. It should not:
*
* - set up DRAM
* - use global_data
* - clear BSS
* - try to start a console
*
* For boards with SPL this should be empty since SPL can do all of
* this init in the SPL board_init_f() function which is called
* immediately after this.
*/
- bl s_init
- ldp x29, x30, [sp]
- ret
-ENDPROC(lowlevel_init) diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c index 42ec02d96e3..a60dc6b299c 100644 --- a/arch/arm/mach-sunxi/board.c +++ b/arch/arm/mach-sunxi/board.c @@ -184,10 +184,6 @@ static int spl_board_load_image(struct spl_image_info *spl_image, SPL_LOAD_IMAGE_METHOD("FEL", 0, BOOT_DEVICE_BOARD, spl_board_load_image); #endif
-void s_init(void) -{ -}
#define SUNXI_INVALID_BOOT_SOURCE -1
static int sunxi_get_boot_source(void)