[U-Boot] commit "powerpc: Remove warm reset entry point" does not work on mpc83xx
Peter Tyser
ptyser at xes-inc.com
Tue Oct 19 17:51:11 CEST 2010
On Tue, 2010-10-19 at 12:07 +0200, Joakim Tjernlund wrote:
> My board has a problem with this change. I added it manually to my tree
> and
> now it wont boot at all(only with BDI2000 connected).
Just to clarify, it won't boot with or without the BDI2000 connected,
correct?
> It seems like my board uses the warm start vector at all times.
> Padding with 4 nop's after the _start symbol fixes the problem.
> It might be due to a somewhat peculiar reset design but I cannot
> understand
> why. Does this work for everyone else using 83xx?
Odd... I don't have an 83xx board to test on unfortunately. Nothing
jumps out as being obviously wrong in the assembly:
===== Pre-commit (works):
fe000100 <_start>:
fe000100: 3a a0 00 01 li r21,1
fe000104: 60 00 00 00 nop
fe000108: 48 00 00 10 b fe000118 <boot_cold>
fe00010c: 00 00 00 00 .long 0x0
fe000110 <_start_warm>:
fe000110: 3a a0 00 02 li r21,2
fe000114: 48 00 00 0c b fe000120 <boot_warm>
fe000118 <boot_cold>:
fe000118: 3c 80 ff 40 lis r4,-192
fe00011c: 60 00 00 00 nop
fe000120 <boot_warm>:
fe000120: 7c a0 00 a6 mfmsr r5
fe000124: 48 00 00 05 bl fe000128 <boot_warm+0x8>
fe000128: 7c e8 02 a6 mflr r7
===== Post-commit (doesn't work):
fe000100 <_start>:
fe000100: 3c 80 ff 40 lis r4,-192
fe000104: 60 00 00 00 nop
fe000108: 7c a0 00 a6 mfmsr r5
fe00010c: 48 00 00 05 bl fe000110 <_start+0x10>
fe000110: 7c e8 02 a6 mflr r7
It'll be interesting to hear if the change affects other boards in the
same way.
Best,
Peter
More information about the U-Boot
mailing list