* [U-Boot-Users] Cannot boot reliably vxWorks on PPC44x
@ 2007-03-02 15:26 Niklaus Giger
2007-04-04 13:19 ` Stefan Roese
0 siblings, 1 reply; 4+ messages in thread
From: Niklaus Giger @ 2007-03-02 15:26 UTC (permalink / raw)
To: u-boot
Hi
I am trying to boot a vxWorks image (version 6.4) on my Yosemite board
(PPC440EP) using the amcc440ep BSP. Booting from a vxWorks bootrom
worked without problems.
Booting vxWorks from u-boot (more or less git HEAD) failed. After
uncommenting in the vxWorks amcc440ep/config.h the following four
lines
#undef INCLUDE_440X5_DCACHE_RECOVERY
#undef INCLUDE_440X5_TLB_RECOVERY
#undef INCLUDE_440X5_PARITY_RECOVERY
#undef INCLUDE_440X5_TLB_RECOVERY_MAX
#undef INCLUDE_440X5_MCH_LOGGER
vxWorks boots sometimes if I reset the the board using our BDI.
It seems that it never boots after the first reset, but often after the
second reset. It never boots without an attached BDI.
vxWorks and BDI initialize the TLB quite differently, but the vxWorks
startup seems to have already initialised the TLB, but more or less
around the time it activates it.
Has anybody seen a similar problem?
Has anybody successfully booted a vxWorks image on a PPC44x processor?
Has anybody an idea where this problem could stem from? (I use
the BDI config 4xxep440.cfg from ftp://ftp.denx.de/pub/BDI2000/).
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;
Best regards
Niklaus Giger
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot-Users] Cannot boot reliably vxWorks on PPC44x
2007-03-02 15:26 [U-Boot-Users] Cannot boot reliably vxWorks on PPC44x Niklaus Giger
@ 2007-04-04 13:19 ` Stefan Roese
2007-04-04 13:30 ` [U-Boot-Users] Antw: " Niklaus Giger
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Roese @ 2007-04-04 13:19 UTC (permalink / raw)
To: u-boot
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.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
=====================================================================
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot-Users] Antw: Re: Cannot boot reliably vxWorks on PPC44x
2007-04-04 13:19 ` Stefan Roese
@ 2007-04-04 13:30 ` Niklaus Giger
2007-04-04 15:34 ` Stefan Roese
0 siblings, 1 reply; 4+ messages in thread
From: Niklaus Giger @ 2007-04-04 13:30 UTC (permalink / raw)
To: u-boot
>>> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot-Users] Antw: Re: Cannot boot reliably vxWorks on PPC44x
2007-04-04 13:30 ` [U-Boot-Users] Antw: " Niklaus Giger
@ 2007-04-04 15:34 ` Stefan Roese
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Roese @ 2007-04-04 15:34 UTC (permalink / raw)
To: u-boot
Hi Niklaus,
On Wednesday 04 April 2007 15:30, Niklaus Giger wrote:
> >> @@ -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.
OK, thanks for clarifying.
Could you then please resubmit a new patch with a poper git commit description
and a signed-off line. And please don't use "2" (BOOT_CLEAR) as default here.
Default should be "0" (BOOT_NORMAL). Perhaps you could make it configurable
via an env variable?
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
=====================================================================
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-04-04 15:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-02 15:26 [U-Boot-Users] Cannot boot reliably vxWorks on PPC44x Niklaus Giger
2007-04-04 13:19 ` Stefan Roese
2007-04-04 13:30 ` [U-Boot-Users] Antw: " Niklaus Giger
2007-04-04 15:34 ` Stefan Roese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox