diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-10-18 04:04:49 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-03-23 15:14:54 -0400 |
commit | 7e1d212b6da492c6ea32c62af92e185284f41291 (patch) | |
tree | 4ed1b3f606e93a92a2c34f172052e3fddfccddd8 /cpu/blackfin | |
parent | a75fa148d60b1975403441e45565621bba50d2d9 (diff) | |
download | u-boot-imx-7e1d212b6da492c6ea32c62af92e185284f41291.zip u-boot-imx-7e1d212b6da492c6ea32c62af92e185284f41291.tar.gz u-boot-imx-7e1d212b6da492c6ea32c62af92e185284f41291.tar.bz2 |
Blackfin: kill off LDR jump block
The Boot ROM uses EVT1 as the entry point so set that rather than having
to use a tiny jump block in the default EVT1 location.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'cpu/blackfin')
-rw-r--r-- | cpu/blackfin/cpu.c | 8 | ||||
-rw-r--r-- | cpu/blackfin/initcode.c | 4 |
2 files changed, 5 insertions, 7 deletions
diff --git a/cpu/blackfin/cpu.c b/cpu/blackfin/cpu.c index 30c214b..c2ff8cd 100644 --- a/cpu/blackfin/cpu.c +++ b/cpu/blackfin/cpu.c @@ -25,18 +25,12 @@ ulong bfin_poweron_retx; __attribute__ ((__noreturn__)) void cpu_init_f(ulong bootflag, ulong loaded_from_ldr) { - /* Build a NOP slide over the LDR jump block. Whee! */ - serial_early_puts("NOP Slide\n"); - char nops[0xC]; - memset(nops, 0x00, sizeof(nops)); - extern char _stext_l1; - memcpy(&_stext_l1 - sizeof(nops), nops, sizeof(nops)); - if (!loaded_from_ldr) { /* Relocate sections into L1 if the LDR didn't do it -- don't * check length because the linker script does the size * checking at build time. */ + extern char _stext_l1; serial_early_puts("L1 Relocate\n"); extern char _stext_l1, _etext_l1, _stext_l1_lma; memcpy(&_stext_l1, &_stext_l1_lma, (&_etext_l1 - &_stext_l1)); diff --git a/cpu/blackfin/initcode.c b/cpu/blackfin/initcode.c index 3f3b479..342b96a 100644 --- a/cpu/blackfin/initcode.c +++ b/cpu/blackfin/initcode.c @@ -372,6 +372,10 @@ void initcode(ADI_BOOT_DATA *bootstruct) bfin_write_SIC_IWR(-1); #endif + /* tell the bootrom where our entry point is */ + if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_BYPASS) + bfin_write_EVT1(CONFIG_SYS_MONITOR_BASE); + serial_putc('>'); serial_putc('\n'); |