From 7e1d212b6da492c6ea32c62af92e185284f41291 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 18 Oct 2008 04:04:49 -0400 Subject: 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 --- cpu/blackfin/cpu.c | 8 +------- cpu/blackfin/initcode.c | 4 ++++ 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'cpu') 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'); -- cgit v1.1