
On Wed, 22 Jan 2020 at 06:52, Patrick Delaunay patrick.delaunay@st.com wrote:
From: Patrice Chotard patrice.chotard@st.com
In reserve_bootstage(), in case size is odd, gd->new_bootstage is not aligned. In bootstage_relocate(), the platform hangs when getting access to data->record[i].name. To avoid this issue, make gd->new_bootstage 16 byte aligned.
To insure that new_bootstage is 16 byte aligned (at least needed for x86_64 and ARMv8) and new_bootstage starts down to get enough space, ALIGN_DOWN macro is used.
Fixes: ac9cd4805c8b ("bootstage: Correct relocation algorithm")
Signed-off-by: Patrice Chotard patrice.chotard@st.com Reviewed-by: Vikas MANOCHA vikas.manocha@st.com Reviewed-by: Patrick Delaunay patrick.delaunay@st.com Tested-by: Patrick Delaunay patrick.delaunay@st.com Signed-off-by: Patrick Delaunay patrick.delaunay@st.com
Changes in v2:
- import: [U-Boot,v3] board_f.c: Insure gd->new_bootstage alignment
common/board_f.c | 5 +++++ 1 file changed, 5 insertions(+)
Ensure as Stephen says
With that fixed:
Reviewed-by: Simon Glass sjg@chromium.org