[U-Boot] mpc512x: Trouble migrating from 2012.07 to 2013.01

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Jan 24 09:40:45 CET 2013


Mats Kärrman <Mats.Karrman at tritech.se> wrote on 2013/01/23 22:58:56:
> 
> Dear Wolfgang Denk,
> 
> >> Found that it was looping endlessly in 
arch/powerpc/lib/ticks.S::wait_ticks
> (). Reverting commit "ppc: Create a stack frame for wait_ticks()" made 
> everything work again.
> > 
> > This makes no sense to me  - especially as it works on all other
> > systems.
> 

Me neither, there is not a lot details. I do recall having other problems 
with
wait_ticks from time to time, sometimes the TB counter(mtfbu, mftb in 
get_ticks)
would not increment so one would just loop forever in wait_ticks. This 
problem
had nothing to do with my patch though.
Never got around to finding out what caused it, we ended up blaming 
unstable HW.

Some ideas though:
- Perhaps you have some alignment problem, try adding nop's here and 
there.
- My patch uses r0(which is what one should use to make gdb happy) instead 
of r8
  to stash the LR. Possibly you have some odd dependency on r0, try using 
r8 again.

None of the above is a real fix tough.

> If you say it works, it makes no sense to me either. I thought it might 
be 
> some subtle difference in the way the e300c4 core or GCC works compared 
to 
> other PPC cores. If there are no such differences, then a patch with no 
> intended functional difference beyond keeping gdb happy should not make 
any 
> difference, good or bad.

hmm, we use e300c2 with no problem.

 Jocke



More information about the U-Boot mailing list