diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-11-10 00:38:23 (GMT) |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-01-17 14:17:26 (GMT) |
commit | 7527feef06b13e9fd5b6d10a4bfc81b59ee56f27 (patch) | |
tree | 59b7eb57888f4c26f68e9430346650de19f002d7 /cpu/blackfin/start.S | |
parent | dbda2c65e5fec92d0791367b53042983746ce95b (diff) | |
download | u-boot-7527feef06b13e9fd5b6d10a4bfc81b59ee56f27.tar.xz |
Blackfin: support boards with no external memory
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'cpu/blackfin/start.S')
-rw-r--r-- | cpu/blackfin/start.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpu/blackfin/start.S b/cpu/blackfin/start.S index 44e2725..7a3abba 100644 --- a/cpu/blackfin/start.S +++ b/cpu/blackfin/start.S @@ -95,6 +95,7 @@ ENTRY(_start) /* Save RETX so we can pass it while booting Linux */ r7 = RETX; +#if CONFIG_MEM_SIZE /* Figure out where we are currently executing so that we can decide * how to best reprogram and relocate things. We'll pass below: * R4: load address of _start @@ -131,6 +132,9 @@ ENTRY(_start) r3.h = 0x2000; cc = r5 < r3 (iu); if cc jump .Ldma_and_reprogram; +#else + r6 = 1 (x); /* fake loaded_from_ldr = 1 */ +#endif r0 = 0 (x); /* set bootstruct to NULL */ call _initcode; jump .Lprogrammed; @@ -154,6 +158,7 @@ ENTRY(_start) .Lprogrammed: serial_early_set_baud +#if CONFIG_MEM_SIZE /* Relocate from wherever we are (FLASH/RAM/etc...) to the hardcoded * monitor location in the end of RAM. We know that memcpy() only * uses registers, so it is safe to call here. Note that this only @@ -166,6 +171,7 @@ ENTRY(_start) r2.l = LO(CONFIG_SYS_MONITOR_LEN); r2.h = HI(CONFIG_SYS_MONITOR_LEN); call _memcpy_ASM; +#endif /* Initialize BSS section ... we know that memset() does not * use the BSS, so it is safe to call here. The bootrom LDR |