[U-Boot] Problems using vxboot

Reinhard Arlt reinhard.arlt at t-online.de
Sat Aug 6 10:12:48 CEST 2011


Hello,

i run into a strange problem booting vxWorks on the cpci750 and vme8349 
using u-boot 2011.06.

The decrementer slot contains old code. The problem is starting vxWorks 
with the data cache enabled.

The code below fix the problem.
It disable (and flush) the data cache, and set the start parameter to 
cold boot for the vxWorks sysInit(int p0) routine.

Is this code acceptable?


diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index bf32612..c3f0986 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -230,7 +230,8 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
                         (char *) bootaddr);
         printf ("## Starting vxWorks at 0x%08lx ...\n", addr);

-       ((void (*)(void)) addr) ();
+       dcache_disable();
+       ((void (*)(int)) addr) (0);

         puts ("## vxWorks terminated\n");
         return 1;

Kind regards

Reinhard Arlt


More information about the U-Boot mailing list