Skip to contentSkip to conversation

Problems using vxboot

U-Boot Reinhard Arlt 2 participants 2 messages Aug 6, 2011 – Aug 10, 2011

lore
Share & tools
lore
#0 lore raw

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
index bf32612..c3f0986 100644
@@ -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

#1 lore raw

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