
On Mon, May 20, 2019 at 7:38 AM Sekhar Nori nsekhar@ti.com wrote:
On 20/05/19 5:55 PM, Adam Ford wrote:
What about adding a memset function to the end of spl_board_init() so after arch_cpu_init() is called,and after preloader_consol_init() is called, we clear BSS? I ran some preliminary tests on da850evm and it didn't see to break anything. There are a few boards that appear to do things in this order.
This will work, but, looks like there is a desire to maintain some "standard" around this. Ie board_init_r() can assume BSS is available (see README -> Board Initialisation Flow:).
Doing BSS init in in spl_board_init() called from board_init_r() will violate that.
Based on your previous comment about board_init_f and your comment above, I read through the readme and I agree with your assessment that the current setup appears to already violate the startup flow.
Looking at board_f.c, there is a board_init_f which calls arch_cpu_init(), so I thought I might try to remove the call from spl_board_init. This didn't work. I then I attempted to rename spl_board_init to board_init_f to move these function calls earlier in the startup sequence. I also undefined SPL_BOARD_INIT from menuconfig, so the call to spl_board_init() wouldn't happen. Unfortunately, now the da850 doesn't start with that either. If you have any suggestions, I'm willing to try them.
adam
Thanks, Sekhar