From f56d625ee07a1ffb424e6c9278dd84b534e0bc1e Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Wed, 25 Feb 2015 18:10:18 +0300
Subject: [PATCH] arc: get rid of CONFIG_SYS_GENERIC_GLOBAL_DATA

As discussed on mailing list we're drifting away from
CONFIG_SYS_GENERIC_GLOBAL_DATA in favour to use of board_init_f_mem()
for global data.

So do this for ARC architecture.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
 arch/arc/include/asm/config.h | 1 -
 arch/arc/lib/start.S          | 8 ++++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arc/include/asm/config.h b/arch/arc/include/asm/config.h
index 8936f5cdf7..d2d791988e 100644
--- a/arch/arc/include/asm/config.h
+++ b/arch/arc/include/asm/config.h
@@ -7,7 +7,6 @@
 #ifndef __ASM_ARC_CONFIG_H_
 #define __ASM_ARC_CONFIG_H_
 
-#define CONFIG_SYS_GENERIC_GLOBAL_DATA
 #define CONFIG_SYS_BOOT_RAMDISK_HIGH
 #define CONFIG_ARCH_EARLY_INIT_R
 
diff --git a/arch/arc/lib/start.S b/arch/arc/lib/start.S
index 82045aeb6d..48ee86e54a 100644
--- a/arch/arc/lib/start.S
+++ b/arch/arc/lib/start.S
@@ -22,6 +22,14 @@ ENTRY(_start)
 	bl	dcache_disable
 	bl	icache_disable
 
+	/* Allocate and zero GD, update SP */
+	mov	%r0, %sp
+	bl	board_init_f_mem
+
+	/* Update stack- and frame-pointers */
+	mov	%sp, %r0
+	mov	%fp, %sp
+
 	/* Zero the one and only argument of "board_init_f" */
 	mov_s	%r0, 0
 	j	board_init_f
-- 
2.39.5