diff --git a/arch/sh/cpu/sh2/cpu.c b/arch/sh/cpu/sh2/cpu.c index a2f856f4594510f5aaeaa366894f03c1de2249a8..9a93cf573fe8203c9b5fec230c1c8b8bd5f36175 100644 --- a/arch/sh/cpu/sh2/cpu.c +++ b/arch/sh/cpu/sh2/cpu.c @@ -83,3 +83,9 @@ int dcache_status(void) { return 0; } + +void relocate_code(ulong start_addr_sp, gd_t *new_gd, ulong relocaaddr) +{ + /* TODO(sh maintainer): Implement this */ + while (1); +} diff --git a/arch/sh/cpu/sh2/start.S b/arch/sh/cpu/sh2/start.S index ebf731a3abf8b489ad06129de705be27a92cb1c8..6171edcce294b0f85352dd1463bcb0a91fb974e3 100644 --- a/arch/sh/cpu/sh2/start.S +++ b/arch/sh/cpu/sh2/start.S @@ -46,8 +46,9 @@ _init: mov.l ._gd_init, r13 /* global data */ mov.l ._stack_init, r15 /* stack */ - mov.l ._sh_generic_init, r0 - jsr @r0 + #TODO(sh maintainer): Fix this up to call the correct code + #mov.l ._sh_generic_init, r0 + #jsr @r0 nop loop: @@ -62,4 +63,4 @@ loop: ._bss_end: .long bss_end ._gd_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE) ._stack_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16) -._sh_generic_init: .long sh_generic_init +#._sh_generic_init: .long sh_generic_init diff --git a/arch/sh/cpu/sh3/cpu.c b/arch/sh/cpu/sh3/cpu.c index ea0006a6505247365e73c0b65a597b709b72bdd8..494f908f64e158d9721b6ad68384a387820f2d7d 100644 --- a/arch/sh/cpu/sh3/cpu.c +++ b/arch/sh/cpu/sh3/cpu.c @@ -66,3 +66,9 @@ int dcache_status(void) { return 0; } + +void relocate_code(ulong start_addr_sp, gd_t *new_gd, ulong relocaaddr) +{ + /* TODO(sh maintainer): Implement this */ + while (1); +} diff --git a/arch/sh/cpu/sh3/start.S b/arch/sh/cpu/sh3/start.S index 7a934e24d4077b2423094cb440b803d7d2cf445f..9ed7198f2b632a0c0d66572366ce32fa0b424da6 100644 --- a/arch/sh/cpu/sh3/start.S +++ b/arch/sh/cpu/sh3/start.S @@ -45,8 +45,9 @@ _sh_start: mov.l ._gd_init, r13 /* global data */ mov.l ._stack_init, r15 /* stack */ - mov.l ._sh_generic_init, r0 - jsr @r0 + #TODO(sh maintainer): Fix this up to call the correct code + #mov.l ._sh_generic_init, r0 + #jsr @r0 nop loop: @@ -61,4 +62,4 @@ loop: ._bss_end: .long bss_end ._gd_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE) ._stack_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16) -._sh_generic_init: .long sh_generic_init +#._sh_generic_init: .long sh_generic_init diff --git a/arch/sh/cpu/sh4/cpu.c b/arch/sh/cpu/sh4/cpu.c index e8ee0a45ab93cd9f42c48110cc381a90724001ae..de90ca777f783b18f25ef0c69489f685443a73d5 100644 --- a/arch/sh/cpu/sh4/cpu.c +++ b/arch/sh/cpu/sh4/cpu.c @@ -75,3 +75,9 @@ int cpu_eth_init(bd_t *bis) #endif return 0; } + +void relocate_code(ulong start_addr_sp, gd_t *new_gd, ulong relocaaddr) +{ + /* TODO(sh maintainer): Implement this */ + while (1); +} diff --git a/arch/sh/cpu/sh4/start.S b/arch/sh/cpu/sh4/start.S index 21644b5e679b5cff14f2a04ce9bfd5659e895cdc..77fc221aa50581f9d5208fc5abeb47fcf358c9f1 100644 --- a/arch/sh/cpu/sh4/start.S +++ b/arch/sh/cpu/sh4/start.S @@ -42,8 +42,9 @@ _sh_start: mov.l ._gd_init, r13 /* global data */ mov.l ._stack_init, r15 /* stack */ - mov.l ._sh_generic_init, r0 - jsr @r0 + #TODO(sh maintainer): Fix this up to call the correct code + #mov.l ._sh_generic_init, r0 + #jsr @r0 nop loop: @@ -58,4 +59,4 @@ loop: ._bss_end: .long bss_end ._gd_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE) ._stack_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16) -._sh_generic_init: .long sh_generic_init +#._sh_generic_init: .long sh_generic_init diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds index 30c7a9d3f8b86277377c6e1869d9799e83e7bb2b..78611c21e67dd1b741a232caafa9184f2f612990 100644 --- a/arch/sh/cpu/u-boot.lds +++ b/arch/sh/cpu/u-boot.lds @@ -67,6 +67,7 @@ SECTIONS KEEP(*(SORT(.u_boot_list*))); } + PROVIDE (__init_end = .); PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */ diff --git a/arch/sh/include/asm/u-boot.h b/arch/sh/include/asm/u-boot.h index ea37c2449704ecb4f415a43193cd2b0ef21fe27f..716d8e9f2dcd75121f6201ecb62d65bff5dde2fd 100644 --- a/arch/sh/include/asm/u-boot.h +++ b/arch/sh/include/asm/u-boot.h @@ -12,16 +12,8 @@ #ifndef __ASM_SH_U_BOOT_H_ #define __ASM_SH_U_BOOT_H_ -typedef struct bd_info { - unsigned long bi_memstart; /* start of DRAM memory */ - phys_size_t bi_memsize; /* size of DRAM memory in bytes */ - unsigned long bi_flashstart; /* start of FLASH memory */ - unsigned long bi_flashsize; /* size of FLASH memory */ - unsigned long bi_flashoffset; /* reserved area for startup monitor */ - unsigned long bi_sramstart; /* start of SRAM memory */ - unsigned long bi_sramsize; /* size of SRAM memory */ - unsigned long bi_boot_params; /* where this board expects params */ -} bd_t; +/* Use the generic board which requires a unified bd_info */ +#include <asm-generic/u-boot.h> /* For image.h:image_check_target_arch() */ #define IH_ARCH_DEFAULT IH_ARCH_SH diff --git a/board/renesas/sh7752evb/u-boot.lds b/board/renesas/sh7752evb/u-boot.lds index 053df642ea9b41fa84e7239300631317499fd3cc..6cd4056bc00ca6104d70566b48ca703e7be7bdab 100644 --- a/board/renesas/sh7752evb/u-boot.lds +++ b/board/renesas/sh7752evb/u-boot.lds @@ -65,6 +65,7 @@ SECTIONS KEEP(*(SORT(.u_boot_list*))); } + PROVIDE (__init_end = .); PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */ diff --git a/board/renesas/sh7753evb/u-boot.lds b/board/renesas/sh7753evb/u-boot.lds index 053df642ea9b41fa84e7239300631317499fd3cc..6cd4056bc00ca6104d70566b48ca703e7be7bdab 100644 --- a/board/renesas/sh7753evb/u-boot.lds +++ b/board/renesas/sh7753evb/u-boot.lds @@ -65,6 +65,7 @@ SECTIONS KEEP(*(SORT(.u_boot_list*))); } + PROVIDE (__init_end = .); PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */ diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds index 4027fe3af5e2392f76861516913ee356eae21581..d701367603b62f67bbfae511f40a86c5bee94957 100644 --- a/board/renesas/sh7757lcr/u-boot.lds +++ b/board/renesas/sh7757lcr/u-boot.lds @@ -66,6 +66,7 @@ SECTIONS KEEP(*(SORT(.u_boot_list*))); } + PROVIDE (__init_end = .); PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */