diff mbox series

[v1,01/15] x86: Introduce USE_EARLY_BOARD_INIT option

Message ID 20200806145438.65862-1-andriy.shevchenko@linux.intel.com
State Superseded
Delegated to: Bin Meng
Headers show
Series [v1,01/15] x86: Introduce USE_EARLY_BOARD_INIT option | expand

Commit Message

Andy Shevchenko Aug. 6, 2020, 2:54 p.m. UTC
Introduce USE_EARLY_BOARD_INIT option and select it by the actual users.

Cc: Aiden Park <aiden.park@intel.com>
Cc: Stefan Roese <sr@denx.de>
Cc: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 arch/x86/Kconfig                      | 3 +++
 arch/x86/cpu/start.S                  | 3 +++
 board/google/chromebook_coral/Kconfig | 1 +
 board/google/chromebook_link/Kconfig  | 1 +
 board/google/chromebook_samus/Kconfig | 1 +
 5 files changed, 9 insertions(+)

Comments

Stefan Roese Aug. 6, 2020, 3:04 p.m. UTC | #1
On 06.08.20 16:54, Andy Shevchenko wrote:
> Introduce USE_EARLY_BOARD_INIT option and select it by the actual users.
> 
> Cc: Aiden Park <aiden.park@intel.com>
> Cc: Stefan Roese <sr@denx.de>
> Cc: George McCollister <george.mccollister@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

> ---
>   arch/x86/Kconfig                      | 3 +++
>   arch/x86/cpu/start.S                  | 3 +++
>   board/google/chromebook_coral/Kconfig | 1 +
>   board/google/chromebook_link/Kconfig  | 1 +
>   board/google/chromebook_samus/Kconfig | 1 +
>   5 files changed, 9 insertions(+)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index ff4f06ed79cc..167cc96205c5 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -203,6 +203,9 @@ config SPL_X86_32BIT_INIT
>   	help
>   	  This is enabled when 32-bit init is in SPL
>   
> +config USE_EARLY_BOARD_INIT
> +	bool
> +
>   config RESET_SEG_START
>   	hex
>   	depends on X86_RESET_VECTOR
> diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
> index 4ad515ce0856..8d00c97db42c 100644
> --- a/arch/x86/cpu/start.S
> +++ b/arch/x86/cpu/start.S
> @@ -88,6 +88,7 @@ _start:
>   	/* Clear the interrupt vectors */
>   	lidt	blank_idt_ptr
>   
> +#ifdef USE_EARLY_BOARD_INIT
>   	/*
>   	 * Critical early platform init - generally not used, we prefer init
>   	 * to happen later when we have a console, in case something goes
> @@ -96,6 +97,8 @@ _start:
>   	jmp	early_board_init
>   .globl early_board_init_ret
>   early_board_init_ret:
> +#endif
> +
>   	post_code(POST_START)
>   
>   	/* Initialise Cache-As-RAM */
> diff --git a/board/google/chromebook_coral/Kconfig b/board/google/chromebook_coral/Kconfig
> index 940bee89b0b6..27671958e146 100644
> --- a/board/google/chromebook_coral/Kconfig
> +++ b/board/google/chromebook_coral/Kconfig
> @@ -18,6 +18,7 @@ config SYS_TEXT_BASE
>   config BOARD_SPECIFIC_OPTIONS # dummy
>   	def_bool y
>   	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>   	select INTEL_APOLLOLAKE
>   	select BOARD_ROMSIZE_KB_16384
>   
> diff --git a/board/google/chromebook_link/Kconfig b/board/google/chromebook_link/Kconfig
> index 944716d002c9..dd29ddf694be 100644
> --- a/board/google/chromebook_link/Kconfig
> +++ b/board/google/chromebook_link/Kconfig
> @@ -19,6 +19,7 @@ config SYS_TEXT_BASE
>   config BOARD_SPECIFIC_OPTIONS # dummy
>   	def_bool y
>   	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>   	select NORTHBRIDGE_INTEL_IVYBRIDGE
>   	select HAVE_INTEL_ME
>   	select BOARD_ROMSIZE_KB_8192
> diff --git a/board/google/chromebook_samus/Kconfig b/board/google/chromebook_samus/Kconfig
> index 90c23cba1bed..9f66d7998870 100644
> --- a/board/google/chromebook_samus/Kconfig
> +++ b/board/google/chromebook_samus/Kconfig
> @@ -19,6 +19,7 @@ config SYS_TEXT_BASE
>   config BOARD_SPECIFIC_OPTIONS # dummy
>   	def_bool y
>   	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>   	select INTEL_BROADWELL
>   	select HAVE_INTEL_ME
>   	select BOARD_ROMSIZE_KB_8192
> 


Viele Grüße,
Stefan
Park, Aiden Aug. 17, 2020, 5:51 a.m. UTC | #2
> -----Original Message-----
> From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Sent: Thursday, August 6, 2020 7:54 AM
> To: Simon Glass <sjg@chromium.org>; Bin Meng <bmeng.cn@gmail.com>; u-
> boot@lists.denx.de
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Park, Aiden
> <aiden.park@intel.com>; Stefan Roese <sr@denx.de>; George McCollister
> <george.mccollister@gmail.com>
> Subject: [PATCH v1 01/15] x86: Introduce USE_EARLY_BOARD_INIT option
> 
> Introduce USE_EARLY_BOARD_INIT option and select it by the actual users.
> 
> Cc: Aiden Park <aiden.park@intel.com>
> Cc: Stefan Roese <sr@denx.de>
> Cc: George McCollister <george.mccollister@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  arch/x86/Kconfig                      | 3 +++
>  arch/x86/cpu/start.S                  | 3 +++
>  board/google/chromebook_coral/Kconfig | 1 +
> board/google/chromebook_link/Kconfig  | 1 +
> board/google/chromebook_samus/Kconfig | 1 +
>  5 files changed, 9 insertions(+)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index
> ff4f06ed79cc..167cc96205c5 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -203,6 +203,9 @@ config SPL_X86_32BIT_INIT
>  	help
>  	  This is enabled when 32-bit init is in SPL
> 
> +config USE_EARLY_BOARD_INIT
> +	bool
> +
>  config RESET_SEG_START
>  	hex
>  	depends on X86_RESET_VECTOR
> diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index
> 4ad515ce0856..8d00c97db42c 100644
> --- a/arch/x86/cpu/start.S
> +++ b/arch/x86/cpu/start.S
> @@ -88,6 +88,7 @@ _start:
>  	/* Clear the interrupt vectors */
>  	lidt	blank_idt_ptr
> 
> +#ifdef USE_EARLY_BOARD_INIT
>  	/*
>  	 * Critical early platform init - generally not used, we prefer init
>  	 * to happen later when we have a console, in case something goes @@
> -96,6 +97,8 @@ _start:
>  	jmp	early_board_init
>  .globl early_board_init_ret
>  early_board_init_ret:
> +#endif
> +
>  	post_code(POST_START)
> 
>  	/* Initialise Cache-As-RAM */
> diff --git a/board/google/chromebook_coral/Kconfig
> b/board/google/chromebook_coral/Kconfig
> index 940bee89b0b6..27671958e146 100644
> --- a/board/google/chromebook_coral/Kconfig
> +++ b/board/google/chromebook_coral/Kconfig
> @@ -18,6 +18,7 @@ config SYS_TEXT_BASE
>  config BOARD_SPECIFIC_OPTIONS # dummy
>  	def_bool y
>  	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>  	select INTEL_APOLLOLAKE
>  	select BOARD_ROMSIZE_KB_16384
> 
> diff --git a/board/google/chromebook_link/Kconfig
> b/board/google/chromebook_link/Kconfig
> index 944716d002c9..dd29ddf694be 100644
> --- a/board/google/chromebook_link/Kconfig
> +++ b/board/google/chromebook_link/Kconfig
> @@ -19,6 +19,7 @@ config SYS_TEXT_BASE
>  config BOARD_SPECIFIC_OPTIONS # dummy
>  	def_bool y
>  	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>  	select NORTHBRIDGE_INTEL_IVYBRIDGE
>  	select HAVE_INTEL_ME
>  	select BOARD_ROMSIZE_KB_8192
> diff --git a/board/google/chromebook_samus/Kconfig
> b/board/google/chromebook_samus/Kconfig
> index 90c23cba1bed..9f66d7998870 100644
> --- a/board/google/chromebook_samus/Kconfig
> +++ b/board/google/chromebook_samus/Kconfig
> @@ -19,6 +19,7 @@ config SYS_TEXT_BASE
>  config BOARD_SPECIFIC_OPTIONS # dummy
>  	def_bool y
>  	select X86_RESET_VECTOR
> +	select USE_EARLY_BOARD_INIT
>  	select INTEL_BROADWELL
>  	select HAVE_INTEL_ME
>  	select BOARD_ROMSIZE_KB_8192
> --
> 2.27.0

Reviewed-by: Aiden Park <aiden.park@intel.com>
Andy Shevchenko Aug. 20, 2020, 9:49 a.m. UTC | #3
On Thu, Aug 06, 2020 at 05:54:24PM +0300, Andy Shevchenko wrote:
> Introduce USE_EARLY_BOARD_INIT option and select it by the actual users.

...

> +#ifdef USE_EARLY_BOARD_INIT

And here I missed CONFIG_ prefix...

I'll fix this in v2.

>  	/*
>  	 * Critical early platform init - generally not used, we prefer init
>  	 * to happen later when we have a console, in case something goes
> @@ -96,6 +97,8 @@ _start:
>  	jmp	early_board_init
>  .globl early_board_init_ret
>  early_board_init_ret:
> +#endif
diff mbox series

Patch

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ff4f06ed79cc..167cc96205c5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -203,6 +203,9 @@  config SPL_X86_32BIT_INIT
 	help
 	  This is enabled when 32-bit init is in SPL
 
+config USE_EARLY_BOARD_INIT
+	bool
+
 config RESET_SEG_START
 	hex
 	depends on X86_RESET_VECTOR
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 4ad515ce0856..8d00c97db42c 100644
--- a/arch/x86/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -88,6 +88,7 @@  _start:
 	/* Clear the interrupt vectors */
 	lidt	blank_idt_ptr
 
+#ifdef USE_EARLY_BOARD_INIT
 	/*
 	 * Critical early platform init - generally not used, we prefer init
 	 * to happen later when we have a console, in case something goes
@@ -96,6 +97,8 @@  _start:
 	jmp	early_board_init
 .globl early_board_init_ret
 early_board_init_ret:
+#endif
+
 	post_code(POST_START)
 
 	/* Initialise Cache-As-RAM */
diff --git a/board/google/chromebook_coral/Kconfig b/board/google/chromebook_coral/Kconfig
index 940bee89b0b6..27671958e146 100644
--- a/board/google/chromebook_coral/Kconfig
+++ b/board/google/chromebook_coral/Kconfig
@@ -18,6 +18,7 @@  config SYS_TEXT_BASE
 config BOARD_SPECIFIC_OPTIONS # dummy
 	def_bool y
 	select X86_RESET_VECTOR
+	select USE_EARLY_BOARD_INIT
 	select INTEL_APOLLOLAKE
 	select BOARD_ROMSIZE_KB_16384
 
diff --git a/board/google/chromebook_link/Kconfig b/board/google/chromebook_link/Kconfig
index 944716d002c9..dd29ddf694be 100644
--- a/board/google/chromebook_link/Kconfig
+++ b/board/google/chromebook_link/Kconfig
@@ -19,6 +19,7 @@  config SYS_TEXT_BASE
 config BOARD_SPECIFIC_OPTIONS # dummy
 	def_bool y
 	select X86_RESET_VECTOR
+	select USE_EARLY_BOARD_INIT
 	select NORTHBRIDGE_INTEL_IVYBRIDGE
 	select HAVE_INTEL_ME
 	select BOARD_ROMSIZE_KB_8192
diff --git a/board/google/chromebook_samus/Kconfig b/board/google/chromebook_samus/Kconfig
index 90c23cba1bed..9f66d7998870 100644
--- a/board/google/chromebook_samus/Kconfig
+++ b/board/google/chromebook_samus/Kconfig
@@ -19,6 +19,7 @@  config SYS_TEXT_BASE
 config BOARD_SPECIFIC_OPTIONS # dummy
 	def_bool y
 	select X86_RESET_VECTOR
+	select USE_EARLY_BOARD_INIT
 	select INTEL_BROADWELL
 	select HAVE_INTEL_ME
 	select BOARD_ROMSIZE_KB_8192