summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-09-12 11:27:46 -0400
committerTom Rini <trini@ti.com>2014-09-12 11:27:46 -0400
commit114cc4290b2f24bb314edf2edd5d8738a0778c4b (patch)
treee3ca947656fea69adb810bab0ee5a32c0d413919 /arch/arm/lib
parentb7a809957bcd72c2efa49ce733774b1e28878585 (diff)
parenta7f99bf139b3aaa0d5494693fd0395084355e41a (diff)
downloadblackbird-obmc-uboot-114cc4290b2f24bb314edf2edd5d8738a0778c4b.tar.gz
blackbird-obmc-uboot-114cc4290b2f24bb314edf2edd5d8738a0778c4b.zip
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/eabi_compat.c15
-rw-r--r--arch/arm/lib/reset.c6
-rw-r--r--arch/arm/lib/spl.c3
-rw-r--r--arch/arm/lib/vectors.S6
4 files changed, 22 insertions, 8 deletions
diff --git a/arch/arm/lib/eabi_compat.c b/arch/arm/lib/eabi_compat.c
index 10d19333fc..a2cb06e49a 100644
--- a/arch/arm/lib/eabi_compat.c
+++ b/arch/arm/lib/eabi_compat.c
@@ -20,8 +20,19 @@ int raise (int signum)
/* Dummy function to avoid linker complaints */
void __aeabi_unwind_cpp_pr0(void)
{
-};
+}
void __aeabi_unwind_cpp_pr1(void)
{
-};
+}
+
+/* Copy memory like memcpy, but no return value required. */
+void __aeabi_memcpy(void *dest, const void *src, size_t n)
+{
+ (void) memcpy(dest, src, n);
+}
+
+void __aeabi_memset(void *dest, size_t n, int c)
+{
+ (void) memset(dest, c, n);
+}
diff --git a/arch/arm/lib/reset.c b/arch/arm/lib/reset.c
index 7a0358071c..9a95f08504 100644
--- a/arch/arm/lib/reset.c
+++ b/arch/arm/lib/reset.c
@@ -23,6 +23,10 @@
#include <common.h>
+__weak void reset_misc(void)
+{
+}
+
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
puts ("resetting ...\n");
@@ -30,6 +34,8 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
udelay (50000); /* wait 50 ms */
disable_interrupts();
+
+ reset_misc();
reset_cpu(0);
/*NOTREACHED*/
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index dfcc596815..75ab546923 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -28,9 +28,6 @@ void __weak board_init_f(ulong dummy)
/* Clear the BSS. */
memset(__bss_start, 0, __bss_end - __bss_start);
- /* Set global data pointer. */
- gd = &gdata;
-
board_init_r(NULL, 0);
}
diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S
index 493f3373f3..0cb87cee7f 100644
--- a/arch/arm/lib/vectors.S
+++ b/arch/arm/lib/vectors.S
@@ -45,12 +45,13 @@
*************************************************************************
*/
+_start:
+
#ifdef CONFIG_SYS_DV_NOR_BOOT_CFG
.word CONFIG_SYS_DV_NOR_BOOT_CFG
#endif
-_start:
- ldr pc, _reset
+ b reset
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort
@@ -77,7 +78,6 @@ _start:
.globl _irq
.globl _fiq
-_reset: .word reset
_undefined_instruction: .word undefined_instruction
_software_interrupt: .word software_interrupt
_prefetch_abort: .word prefetch_abort
OpenPOWER on IntegriCloud