diff mbox series

[v4,5/9] board: Add a gd flag for chain loading

Message ID 20200426151302.93418-5-sjg@chromium.org
State Superseded
Headers show
Series x86: Improve support for chain-loading U-Boot | expand

Commit Message

Simon Glass April 26, 2020, 3:12 p.m. UTC
When U-Boot is run from another boot loader, much of the low-level init
needs to be skipped.

Add a flag for this and adjust ll_boot_init() to use it.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v4:
- Rename flag to GD_FLG_SKIP_LL_INIT

Changes in v3:
- Add a new patch with a gd flag for chain loading

Changes in v2: None

 include/asm-generic/global_data.h | 1 +
 include/init.h                    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Peng Fan April 27, 2020, 5:35 a.m. UTC | #1
> Subject: [PATCH v4 5/9] board: Add a gd flag for chain loading
> 
> When U-Boot is run from another boot loader, much of the low-level init
> needs to be skipped.
> 
> Add a flag for this and adjust ll_boot_init() to use it.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
> Changes in v4:
> - Rename flag to GD_FLG_SKIP_LL_INIT
> 
> Changes in v3:
> - Add a new patch with a gd flag for chain loading
> 
> Changes in v2: None
> 
>  include/asm-generic/global_data.h | 1 +
>  include/init.h                    | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/asm-generic/global_data.h
> b/include/asm-generic/global_data.h
> index d9e220cfe3..8c78792cc9 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -166,5 +166,6 @@ typedef struct global_data {
>  #define GD_FLG_SPL_EARLY_INIT	0x04000 /* Early SPL init is done
> */
>  #define GD_FLG_LOG_READY	0x08000 /* Log system is ready for use
> */
>  #define GD_FLG_WDT_READY	0x10000 /* Watchdog is ready for use
> */
> +#define GD_FLG_SKIP_LL_INIT	0x20000	/* Don't perform low-level init
> */
> 
>  #endif /* __ASM_GENERIC_GBL_DATA_H */
> diff --git a/include/init.h b/include/init.h index 2a33a3fd1e..f84a1fc0e0
> 100644
> --- a/include/init.h
> +++ b/include/init.h
> @@ -20,7 +20,7 @@ struct global_data;
>  #ifdef CONFIG_EFI_STUB
>  #define ll_boot_init()	false
>  #else
> -#define ll_boot_init()	true
> +#define ll_boot_init()	(!(gd->flags & GD_FLG_SKIP_LL_INIT))
>  #endif

Reviewed-by: Peng Fan <peng.fan at nxp.com>
Bin Meng April 30, 2020, 9:32 a.m. UTC | #2
On Sun, Apr 26, 2020 at 11:13 PM Simon Glass <sjg at chromium.org> wrote:
>
> When U-Boot is run from another boot loader, much of the low-level init
> needs to be skipped.
>
> Add a flag for this and adjust ll_boot_init() to use it.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v4:
> - Rename flag to GD_FLG_SKIP_LL_INIT
>
> Changes in v3:
> - Add a new patch with a gd flag for chain loading
>
> Changes in v2: None
>
>  include/asm-generic/global_data.h | 1 +
>  include/init.h                    | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
diff mbox series

Patch

diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index d9e220cfe3..8c78792cc9 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -166,5 +166,6 @@  typedef struct global_data {
 #define GD_FLG_SPL_EARLY_INIT	0x04000 /* Early SPL init is done	   */
 #define GD_FLG_LOG_READY	0x08000 /* Log system is ready for use	   */
 #define GD_FLG_WDT_READY	0x10000 /* Watchdog is ready for use	   */
+#define GD_FLG_SKIP_LL_INIT	0x20000	/* Don't perform low-level init	   */
 
 #endif /* __ASM_GENERIC_GBL_DATA_H */
diff --git a/include/init.h b/include/init.h
index 2a33a3fd1e..f84a1fc0e0 100644
--- a/include/init.h
+++ b/include/init.h
@@ -20,7 +20,7 @@  struct global_data;
 #ifdef CONFIG_EFI_STUB
 #define ll_boot_init()	false
 #else
-#define ll_boot_init()	true
+#define ll_boot_init()	(!(gd->flags & GD_FLG_SKIP_LL_INIT))
 #endif
 
 /*