[U-Boot] [PATCH] powerpc: do not fixup NULL ptrs
Wolfgang Denk
wd at denx.de
Thu Nov 4 10:57:42 CET 2010
Dear Joakim Tjernlund,
In message <OF5324EC0A.37C044B2-ONC12577D1.0031F002-C12577D1.00326E3D at transmode.se> you wrote:
>
> > 4 nops after _start does the trick, i.e. the board is up and running fine.
...
> How is this going? If nothing else I think you should send
> a patch for 83xx, adding the 4 nop's as your(and mine) board is
> broken otherwise. Freescale guys seems busy with other things so
> I think this is the best thing to do.
I don't like the idea of adding such code without any understanding
why it would be needed for some boards, while it is not needed for
others.
Is it really needed at _start? Or can these NOPs be anywhere, and are
just needed to adjust some alignment?
When building for example for the MPC8315ERDB board, I see this
strange alignment here:
-> grep _start_of_vectors System.map
fe0001a8 T _start_of_vectors
Adding 4 NOPs will move this nicely to the next exception vector
address at 0x200.
Eventually this is an alignment problem (but then, the
"STD_EXCEPTION(0x200, ...)" is supposed to align the respective code
to 0x200, and indeed we see
fe0001a8 T _start_of_vectors
fe000200 t MachineCheck
fe000300 t DataStorage
fe000400 t InstStorage
...
Given the fact that _start_of_vectors is not used anywhere in the 83xx
code, all this is a pretty big mystery to me.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The explanation requiring the fewest assumptions is the most likely
to be correct. -- William of Occam
More information about the U-Boot
mailing list