[U-Boot] [PATCH] vxworks: Add CONFIG_VXWORKS_PREBOOT

Niklaus Giger niklaus.giger at netstal.com
Wed Sep 23 08:22:38 CEST 2009


The option CONFIG_VXWORKS_PREBOOT allows a board specific
vxworks_preboot to be run just before jumping into the
vxWorks images. This can be used to alter a register
which is used differently by U-boot and vxWorks.

Signed-off-by: Niklaus Giger <niklaus.giger at netstal.com>
---
 common/cmd_elf.c  |    4 ++++
 include/vxworks.h |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index bf7dd63..4e36680 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -213,6 +213,10 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			(char *) bootaddr);
 	printf ("## Starting vxWorks at 0x%08lx ...\n", addr);
 
+#ifdef CONFIG_VXWORKS_PREBOOT
+    vxworks_preboot();
+#endif
+
 	((void (*)(void)) addr) ();
 
 	puts ("## vxWorks terminated\n");
diff --git a/include/vxworks.h b/include/vxworks.h
index 1633904..df2b580 100644
--- a/include/vxworks.h
+++ b/include/vxworks.h
@@ -50,4 +50,8 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 #define CONFIG_SYS_VXWORKS_SERVERNAME	"srv"
 #endif
 
+#ifdef CONFIG_VXWORKS_PREBOOT
+    void vxworks_preboot(void);
+#endif
+
 #endif
-- 
1.6.3.3



More information about the U-Boot mailing list