
On Saturday, August 29, 2015 at 06:54:54 PM, Simon Glass wrote:
Hi Marek,
Hi Simon,
[...]
Does that mean it skips crt0.S? How come global_data is not zeroed there?
No, it does not mean it skips crt0.S . After the warm reset, the bootrom jumps onto the reset vector, so crt0.S (_main) must be executed.
Then I don't understand the need for this patch.
Apparently, the gd->dm_root is set to a non-NULL address for some (unknown) reason. I don't quite understand this myself.
The only possibility which can lead to gd->dm_root being set to non-NULL address is that crt0.S _main is not executed, is that correct ?
I think so, unless driver model was already inited by a call to spl_init(). But I don't see where your board might do that.
That's correct.
Best regards, Marek Vasut