common/board_r: allocate bootparams
authorAndreas Bießmann <andreas.devel@googlemail.com>
Fri, 6 Feb 2015 22:06:47 +0000 (23:06 +0100)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Tue, 17 Feb 2015 21:52:43 +0000 (22:52 +0100)
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
common/board_r.c

index 907b33cca7624124cd251b656db219a1e5052449..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