
Dear Reinhard Meyer,
In message 4CDF6070.20503@emk-elektronik.de you wrote:
Dear Wolfgang Denk,
Yes, and this is correct. board_init_f != board_early_init_f
To make it crystal clear now:
void board_init_f (ulong bootflag)
That's not crystal clear at all. Until now, you've been talking about board_early_init_f(), and now you suddenly switch to a completey different function.
bd_t *bd; init_fnc_t **init_fnc_ptr; gd_t *id; ulong addr, addr_sp;
- gd_t auto_gd;
And how do we pass around data before relocation? For example, the serial driver needs information about clock settings to set up the serial console.
You would have to add lots of return values (some time even return structs), which then get passed around as arguments - or you would have to pass around a pointer to GD _before_ that.
Best regards,
Wolfgang Denk