瀏覽代碼

sandbox: allow processing before main loop

In order to pass command line arguments to sandbox we need to be able
to act on them. So take control back at the end of board_init_r() from
where we can call the main loop or do something else.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Simon Glass 13 年之前
父節點
當前提交
ab4e07eb71
共有 3 個文件被更改,包括 10 次插入0 次删除
  1. 5 0
      arch/sandbox/cpu/start.c
  2. 3 0
      arch/sandbox/include/asm/u-boot-sandbox.h
  3. 2 0
      arch/sandbox/lib/board.c

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

@@ -22,6 +22,11 @@
 #include <common.h>
 #include <asm/state.h>
 
+int sandbox_main_loop_init(void)
+{
+	return 0;
+}
+
 int main(int argc, char *argv[])
 {
 	int err;

+ 3 - 0
arch/sandbox/include/asm/u-boot-sandbox.h

@@ -35,4 +35,7 @@
 int board_init(void);
 int dram_init(void);
 
+/* start.c */
+int sandbox_main_loop_init(void);
+
 #endif	/* _U_BOOT_SANDBOX_H_ */

+ 2 - 0
arch/sandbox/lib/board.c

@@ -269,6 +269,8 @@ void board_init_r(gd_t *id, ulong dest_addr)
 	post_run(NULL, POST_RAM | post_bootmode_get(0));
 #endif
 
+	sandbox_main_loop_init();
+
 	/*
 	 * For now, run the main loop. Later we might let this be done
 	 * in the main program.