diff mbox

[U-Boot,3/8] dm: x86: Zero global data before board_init_f()

Message ID 1412948960-11941-4-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Oct. 10, 2014, 1:49 p.m. UTC
To permit information to be passed from the early U-Boot code to
board_init_f() we cannot zero the global_data in board_init_f(). Instead
zero it in the start-up code.

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

 arch/x86/cpu/start.S | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Simon Glass Oct. 24, 2014, 3:53 a.m. UTC | #1
On 10 October 2014 07:49, Simon Glass <sjg@chromium.org> wrote:
> To permit information to be passed from the early U-Boot code to
> board_init_f() we cannot zero the global_data in board_init_f(). Instead
> zero it in the start-up code.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/x86/cpu/start.S | 6 ++++++
>  1 file changed, 6 insertions(+)
>

Applied to u-boot-dm/master
diff mbox

Patch

diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 329bb3a..71cab22 100644
--- a/arch/x86/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -85,6 +85,12 @@  car_init_ret:
 	/* Align global data to 16-byte boundary */
 	andl	$0xfffffff0, %esp
 
+	/* Zero the global data since it won't happen later */
+	xorl	%eax, %eax
+	movl	$GENERATED_GBL_DATA_SIZE, %ecx
+	movl	%esp, %edi
+	rep	stosb
+
 	/* Setup first parameter to setup_gdt */
 	movl	%esp, %eax