Dear Joakim Tjernlund,

In message 
<of5324ec0a.37c044b2-onc12577d1.0031f002-c12577d1.00326...@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: w...@denx.de
The explanation requiring the fewest assumptions is the  most  likely
to be correct.                                    -- William of Occam
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to