|
@@ -394,19 +394,21 @@ static int reserve_trace(void)
|
|
|
|
|
|
static int reserve_uboot(void)
|
|
|
{
|
|
|
- /*
|
|
|
- * reserve memory for U-Boot code, data & bss
|
|
|
- * round down to next 4 kB limit
|
|
|
- */
|
|
|
- gd->relocaddr -= gd->mon_len;
|
|
|
- gd->relocaddr &= ~(4096 - 1);
|
|
|
-#if defined(CONFIG_E500) || defined(CONFIG_MIPS)
|
|
|
- /* round down to next 64 kB limit so that IVPR stays aligned */
|
|
|
- gd->relocaddr &= ~(65536 - 1);
|
|
|
-#endif
|
|
|
-
|
|
|
- debug("Reserving %ldk for U-Boot at: %08lx\n", gd->mon_len >> 10,
|
|
|
- gd->relocaddr);
|
|
|
+ if (!(gd->flags & GD_FLG_SKIP_RELOC)) {
|
|
|
+ /*
|
|
|
+ * reserve memory for U-Boot code, data & bss
|
|
|
+ * round down to next 4 kB limit
|
|
|
+ */
|
|
|
+ gd->relocaddr -= gd->mon_len;
|
|
|
+ gd->relocaddr &= ~(4096 - 1);
|
|
|
+ #if defined(CONFIG_E500) || defined(CONFIG_MIPS)
|
|
|
+ /* round down to next 64 kB limit so that IVPR stays aligned */
|
|
|
+ gd->relocaddr &= ~(65536 - 1);
|
|
|
+ #endif
|
|
|
+
|
|
|
+ debug("Reserving %ldk for U-Boot at: %08lx\n",
|
|
|
+ gd->mon_len >> 10, gd->relocaddr);
|
|
|
+ }
|
|
|
|
|
|
gd->start_addr_sp = gd->relocaddr;
|
|
|
|