From patchwork Thu Jan 9 17:11:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Delaunay X-Patchwork-Id: 239331 List-Id: U-Boot discussion From: patrick.delaunay at st.com (Patrick Delaunay) Date: Thu, 9 Jan 2020 18:11:20 +0100 Subject: [PATCH 0/3] Message-ID: <20200109171123.16348-1-patrick.delaunay@st.com> Hi, This serie depends on http://patchwork.ozlabs.org/patch/1201452/ [U-Boot,v3] board_f.c: Insure gd->new_bootstage alignment reserve_sp It should be applied only after this patch. First I remove the stm32mp1 workaround as the issue of bootstage alignment is solved. The 3rd patch is a complete solution (proposed in comment 5 of previous patch http://patchwork.ozlabs.org/patch/1201452/#2327366) always align the reserved memory to 16 bytes with a new function reserve_sp() This patch causes an issue on ARM 32 bits, as relocated gd pointer is not initialized with gd->new_gd as expected in reserve_global_data() but is hardcoded with relocated gd = gd->bd - GD_SIZE {GD_SIZE = sizeof(struct global_data)} This issue is solved with the second patch of the serie arm: set the relocated gd with gd->new_gd Only tested on STM32MP157C-EV1 board. Patrick Delaunay (3): Revert "stm32mp1: remove the imply BOOTSTAGE" arm: set the relocated gd with gd->new_gd board_f.c: Insure 16 alignment of start_addr_sp and reserved memory arch/arm/lib/crt0.S | 3 +-- arch/arm/mach-stm32mp/Kconfig | 2 ++ common/board_f.c | 32 ++++++++++++++++++-------------- 3 files changed, 21 insertions(+), 16 deletions(-)