]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - common/board_f.c
Add CONFIG_SYS_SYM_OFFSETS to support offset symbols
[karo-tx-uboot.git] / common / board_f.c
index 42042ccc062b8c580274b6eca85883b96927f229..b625ccb2be28a1becabca0acc0619976f14947bc 100644 (file)
@@ -107,8 +107,13 @@ static int display_text_info(void)
 {
        ulong bss_start, bss_end;
 
+#ifdef CONFIG_SYS_SYM_OFFSETS
        bss_start = _bss_start_ofs + _TEXT_BASE;
        bss_end = _bss_end_ofs + _TEXT_BASE;
+#else
+       bss_start = (ulong)&__bss_start;
+       bss_end = (ulong)&__bss_end;
+#endif
        debug("U-Boot code: %08X -> %08lX  BSS: -> %08lX\n",
              CONFIG_SYS_TEXT_BASE, bss_start, bss_end);
 
@@ -174,7 +179,11 @@ static int zero_global_data(void)
 
 static int setup_mon_len(void)
 {
+#ifdef CONFIG_SYS_SYM_OFFSETS
        gd->mon_len = _bss_end_ofs;
+#else
+       gd->mon_len = (ulong)&__bss_end - (ulong)&__text_start;
+#endif
        return 0;
 }
 
@@ -190,7 +199,11 @@ static int setup_fdt(void)
        gd->fdt_blob = _binary_dt_dtb_start;
 #elif defined CONFIG_OF_SEPARATE
        /* FDT is at end of image */
+# ifdef CONFIG_SYS_SYM_OFFSETS
        gd->fdt_blob = (void *)(_end_ofs + CONFIG_SYS_TEXT_BASE);
+# else
+       gd->fdt_blob = (ulong *)&_end;
+# endif
 #endif
        /* Allow the early environment to override the fdt address */
        gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16,
@@ -483,6 +496,7 @@ static int mark_bootstage(void)
 }
 
 static init_fnc_t init_sequence_f[] = {
+       zero_global_data,
        setup_fdt,
        setup_mon_len,
        arch_cpu_init,          /* basic arch cpu dependent setup */