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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to