diff options
author | Tom Rini <trini@konsulko.com> | 2015-04-03 13:14:38 (GMT) |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-04-03 13:14:38 (GMT) |
commit | 692e5c4e7eb267f3d8f3a8c9d2348eff6f5f21e2 (patch) | |
tree | e47f18f7dd1507e91a46fcd6f550914ad3774f5a /arch/arm/lib | |
parent | 8a5c9ca4d0b8aa13a1bb321494d24f656a9a7d72 (diff) | |
parent | 76a30fedd44428c7108084266389c9b4ba5678c8 (diff) | |
download | u-boot-fsl-qoriq-692e5c4e7eb267f3d8f3a8c9d2348eff6f5f21e2.tar.xz |
Merge branch 'master' of git://git.denx.de/u-boot-tegra
Conflicts:
board/armltd/vexpress64/vexpress64.c
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r-- | arch/arm/lib/crt0_64.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S index 7756396..1654011 100644 --- a/arch/arm/lib/crt0_64.S +++ b/arch/arm/lib/crt0_64.S @@ -62,9 +62,18 @@ ENTRY(_main) * Set up initial C runtime environment and call board_init_f(0). */ ldr x0, =(CONFIG_SYS_INIT_SP_ADDR) - sub x0, x0, #GD_SIZE /* allocate one GD above SP */ + sub x18, x0, #GD_SIZE /* allocate one GD above SP */ + bic x18, x18, #0x7 /* 8-byte alignment for GD */ +zero_gd: + sub x0, x0, #0x8 + str xzr, [x0] + cmp x0, x18 + b.gt zero_gd +#if defined(CONFIG_SYS_MALLOC_F_LEN) + sub x0, x18, #CONFIG_SYS_MALLOC_F_LEN + str x0, [x18, #GD_MALLOC_BASE] +#endif bic sp, x0, #0xf /* 16-byte alignment for ABI compliance */ - mov x18, sp /* GD is above SP */ mov x0, #0 bl board_init_f |