[U-Boot-Users] Antw: Re: Cannot boot reliably vxWorks on PPC44x

Niklaus Giger
2007-04-04T13:30:24Z

>>> Stefan Roese<sr@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