[PATCH 1/5] arm: Add new config option ARCH_VERY_EARLY_INIT
Stefan Roese
sr at denx.de
Mon May 16 08:37:26 CEST 2022
On 06.05.22 11:05, Pali Rohár wrote:
> When this option is set then ARM _main() function would call
> arch_very_early_init() function at the beginning. It would be before
> calling any other functions like debug_uart_init() and also before
> initializing C runtime environment.
>
> Signed-off-by: Pali Rohár <pali at kernel.org>
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
> ---
> arch/arm/Kconfig | 6 ++++++
> arch/arm/lib/crt0.S | 5 +++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 0afec5155b1b..9898c7d68e1b 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -401,6 +401,12 @@ config SYS_ARM_CACHE_WRITEALLOC
> write is performed.
> endchoice
>
> +config ARCH_VERY_EARLY_INIT
> + bool
> +
> +config SPL_ARCH_VERY_EARLY_INIT
> + bool
> +
> config ARCH_CPU_INIT
> bool "Enable ARCH_CPU_INIT"
> help
> diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
> index ba312901f331..612a2d5b698e 100644
> --- a/arch/arm/lib/crt0.S
> +++ b/arch/arm/lib/crt0.S
> @@ -90,6 +90,11 @@ clbss_l:cmp r0, r1 /* while not at end of BSS */
>
> ENTRY(_main)
>
> +/* Call arch_very_early_init before initializing C runtime environment. */
> +#if CONFIG_IS_ENABLED(ARCH_VERY_EARLY_INIT)
> + bl arch_very_early_init
> +#endif
> +
> /*
> * Set up initial C runtime environment and call board_init_f(0).
> */
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list