summaryrefslogtreecommitdiff
path: root/arch/arc
diff options
context:
space:
mode:
authorAlexey Brodkin <abrodkin@synopsys.com>2015-02-25 18:10:18 +0300
committerAlexey Brodkin <abrodkin@synopsys.com>2015-04-03 09:47:49 +0300
commitf56d625ee07a1ffb424e6c9278dd84b534e0bc1e (patch)
treea7ad80be0bd94982b195e6ab3d17e46d97314718 /arch/arc
parent97ee47bdaba7421261d8568cd517f89275a42319 (diff)
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>
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/include/asm/config.h1
-rw-r--r--arch/arc/lib/start.S8
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/arc/include/asm/config.h b/arch/arc/include/asm/config.h
index 8936f5cdf79..d2d791988e2 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 82045aeb6dd..48ee86e54ad 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