]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/board_r.c
common/board_r: allocate bootparams
[karo-tx-uboot.git] / common / board_r.c
index f7a3b55193f2829ff3913560c048b624a7d32171..f0b4f9d935181f905745fdb526dd666a8d5b517a 100644 (file)
@@ -459,6 +459,18 @@ static int initr_env(void)
        return 0;
 }
 
+#ifdef CONFIG_SYS_BOOTPARAMS_LEN
+static int initr_malloc_bootparams(void)
+{
+       gd->bd->bi_boot_params = (ulong)malloc(CONFIG_SYS_BOOTPARAMS_LEN);
+       if (!gd->bd->bi_boot_params) {
+               puts("WARNING: Cannot allocate space for boot parameters\n");
+               return -ENOMEM;
+       }
+       return 0;
+}
+#endif
+
 #ifdef CONFIG_SC3
 /* TODO: with new initcalls, move this into the driver */
 extern void sc3_read_eeprom(void);
@@ -775,6 +787,9 @@ init_fnc_t init_sequence_r[] = {
        initr_dataflash,
 #endif
        initr_env,
+#ifdef CONFIG_SYS_BOOTPARAMS_LEN
+       initr_malloc_bootparams,
+#endif
        INIT_FUNC_WATCHDOG_RESET
        initr_secondary_cpu,
 #ifdef CONFIG_SC3
@@ -813,7 +828,7 @@ init_fnc_t init_sequence_r[] = {
 #if defined(CONFIG_ARM)
        initr_enable_interrupts,
 #endif
-#ifdef CONFIG_X86
+#if defined(CONFIG_X86) || defined(CONFIG_MICROBLAZE)
        timer_init,             /* initialize timer */
 #endif
 #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)