Problems using vxboot
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?
common/cmd_elf.c +0 -0
@@ -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
Hi Reinhard,
Quoted 11 lines
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?
If vxworks needs the caches disabled to start, then sure why shouldn't it? Isn't there some vxWorks documentation item for that? It would be good to reference that in a comment.
Cheers
Detlev
Signature · 6 lines
Less talking -- more hacking
-- Olin Shivers
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de