diff mbox series

[2/3] arm: set the relocated gd with gd->new_gd

Message ID 20200109171123.16348-3-patrick.delaunay@st.com
State Superseded
Headers show
Series | expand

Commit Message

Patrick Delaunay Jan. 9, 2020, 5:11 p.m. UTC
Simplify the arm relocation behavior and get gd directly form new_gd,
as it is already done in crt0_64.S:

	ldr	x18, [x18, #GD_NEW_GD]		/* x18 <- gd->new_gd */

This patch avoid assumption on new GD location (new GD is below bd -
with #GD_SIZE offset).

Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---

 arch/arm/lib/crt0.S | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Simon Glass Jan. 30, 2020, 2:17 a.m. UTC | #1
On Thu, 9 Jan 2020 at 10:11, Patrick Delaunay <patrick.delaunay at st.com> wrote:
>
> Simplify the arm relocation behavior and get gd directly form new_gd,
> as it is already done in crt0_64.S:
>
>         ldr     x18, [x18, #GD_NEW_GD]          /* x18 <- gd->new_gd */
>
> This patch avoid assumption on new GD location (new GD is below bd -
> with #GD_SIZE offset).
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
>  arch/arm/lib/crt0.S | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>
diff mbox series

Patch

diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index fb6c37cf51..df9dd83e40 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -127,8 +127,7 @@  ENTRY(_main)
 	ldr	r0, [r9, #GD_START_ADDR_SP]	/* sp = gd->start_addr_sp */
 	bic	r0, r0, #7	/* 8-byte alignment for ABI compliance */
 	mov	sp, r0
-	ldr	r9, [r9, #GD_BD]		/* r9 = gd->bd */
-	sub	r9, r9, #GD_SIZE		/* new GD is below bd */
+	ldr	r9, [r9, #GD_NEW_GD]		/* r9 <- gd->new_gd */
 
 	adr	lr, here
 	ldr	r0, [r9, #GD_RELOC_OFF]		/* r0 = gd->reloc_off */