This includes the following fixes:
- Define needed __init_end symbol - see initr_reloc_global_data()
- Drop SH-specific struct bd_info
- Add an empty relocate_code() function

This prevents build errors with generic board, but the code will still need
work. Perhaps this is a better alternative than deleting the code.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 arch/sh/cpu/sh2/cpu.c              |  6 ++++++
 arch/sh/cpu/sh2/start.S            |  7 ++++---
 arch/sh/cpu/sh3/cpu.c              |  6 ++++++
 arch/sh/cpu/sh3/start.S            |  7 ++++---
 arch/sh/cpu/sh4/cpu.c              |  6 ++++++
 arch/sh/cpu/sh4/start.S            |  7 ++++---
 arch/sh/cpu/u-boot.lds             |  1 +
 arch/sh/include/asm/u-boot.h       | 12 ++----------
 board/renesas/sh7752evb/u-boot.lds |  1 +
 board/renesas/sh7753evb/u-boot.lds |  1 +
 board/renesas/sh7757lcr/u-boot.lds |  1 +
 11 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/arch/sh/cpu/sh2/cpu.c b/arch/sh/cpu/sh2/cpu.c
index a2f856f..9a93cf5 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 ebf731a..6171edc 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 ea0006a..494f908 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 7a934e2..9ed7198 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 e8ee0a4..de90ca7 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 21644b5..77fc221 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 30c7a9d..78611c2 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 ea37c24..716d8e9 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 053df64..6cd4056 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 053df64..6cd4056 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 4027fe3..d701367 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 = .; */
 
-- 
2.8.0.rc3.226.g39d4020

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to