[U-Boot] [RFC PATCH] SPL: FIT: Align loading address for header

Michal Simek michal.simek at xilinx.com
Thu Apr 28 10:36:11 CEST 2016


If bl_len is not aligned it can caused a problem because another code
expects that start is aligned.

Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---

Not sure if this is the right way how to ensure it.
But patch is pointing to the problem. For example if bl_len is 1.
---
 common/spl/spl_fit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index e301927c87ac..08e432a52dbb 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -119,6 +119,7 @@ int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fit)
 	 * be before CONFIG_SYS_TEXT_BASE.
 	 */
 	fit = (void *)(CONFIG_SYS_TEXT_BASE - size - info->bl_len);
+	fit = (void *)ALIGN((ulong)fit, 8);
 	sectors = (size + info->bl_len - 1) / info->bl_len;
 	count = info->read(info, sector, sectors, fit);
 	debug("fit read sector %lx, sectors=%d, dst=%p, count=%lu\n",
-- 
1.9.1



More information about the U-Boot mailing list