[PATCH 4/5] armv8: remove no longer needed lowlevel_init.S
Samuel Holland
samuel at sholland.org
Tue Jan 25 04:02:54 CET 2022
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 at arm.com>
Reviewed-by: Samuel Holland <samuel at 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)
>
More information about the U-Boot
mailing list