Ver código fonte

sandbox: Support pre-relocation malloc()

Set up and zero global data before board_init_f() is called so that we can
remove the need for CONFIG_SYS_GENERIC_GLOBAL_DATA.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass 11 anos atrás
pai
commit
29afe9e6ed
2 arquivos alterados com 6 adições e 0 exclusões
  1. 3 0
      README
  2. 3 0
      arch/sandbox/cpu/start.c

+ 3 - 0
README

@@ -3749,6 +3749,9 @@ Configuration Settings:
 		The memory will be freed (or in fact just forgotton) when
 		U-Boot relocates itself.
 
+		Pre-relocation malloc() is only supported on sandbox
+		at present but is fairly easy to enable for other archs.
+
 - CONFIG_SYS_BOOTM_LEN:
 		Normally compressed uImages are limited to an
 		uncompressed size of 8 MBytes. If this is not enough,

+ 3 - 0
arch/sandbox/cpu/start.c

@@ -240,6 +240,9 @@ int main(int argc, char *argv[])
 
 	memset(&data, '\0', sizeof(data));
 	gd = &data;
+#ifdef CONFIG_SYS_MALLOC_F_LEN
+	gd->malloc_base = CONFIG_MALLOC_F_ADDR;
+#endif
 
 	/* Do pre- and post-relocation init */
 	board_init_f(0);