Dear Albert ARIBAUD, > Le 14/11/2010 20:42, Reinhard Meyer a écrit : > >> 1. I am quite sure that in arm/lib/board.c >> __asm__ __volatile__("": : :"memory"); >> was never needed and definitely is not needed anymore. >> Can anyone shed some light on why this was added? >> Probably just copied from other architectures where some trickery >> around gd was done? > > This kind of barrier is needed when the compiler might reorder code without > seeing a dependency (I met such a case in the Marvell egiga driver code). > Here, I don't see the reason offhand. > >> 4. start.S need just set the SP to CONFIG_SYS_INIT_SP_ADDR, >> if one wants to be over-cautious extra alignment *can* be done. > > Currently start.S sets the stack twice, once before calling board_init_f, and > once in relocate_code. Are you suggesting we remove the second sp setting?
No, of course not. Extra alignment code need not be added (to the first setting of SP) anymore since CONFIG_SYS_INIT_SP_ADDR is well aligned when set to the end of the storage area. Adding extra alignment code was proposed in discussions a few days ago, when GENERATED_GBL_DATA_SIZE was still subtracted. Best Regards, Reinhard _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot