
Stefan Roesesr@denx.de 04.04.07 15:19:53 >>>
Hi Niklaus,
On Friday 02 March 2007 16:26, Niklaus Giger wrote:
BTW, the boot cmd of vxWorks expects a parameter, therefore I think it would make sense to apply a patch like diff --git a/common/cmd_elf.c b/common/cmd_elf.c old mode 100644 new mode 100755 index 0e3d56f..dc4eb27 --- a/common/cmd_elf.c +++ b/common/cmd_elf.c @@ -213,7 +213,7 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) (char *) bootaddr); printf ("## Starting vxWorks at 0x%08lx ...\n", addr);
((void (*)(void)) addr) ();
((void (*)(int)) addr) (2); /* 0 => BOOT_NORMAL 2=> BOOT_CLEAR */ puts ("## vxWorks terminated\n"); return 1;
Are you sure that this parameter is supported. A quick "googling" only showed this parameter in the VxWorks function reboot(), and I don't think this is the entry point of the VxWorks image.
It is also used by the function void usrInit (int startType) and gets passed afterward to various init functions, e.g. usrBootLineInit. My board specific code tested its value, which made me discover this bug.
Best regards
Niklaus