Make sunxi's FEL code fit with the normal U-Boot boot sequence instead of creating its own. There are some #ifdefs required in start.S. Future work will hopefully remove these. This series is available at u-boot-dm, branch sunxi-working. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>master
parent
c01c71bc16
commit
942cb0b6a2
@ -0,0 +1,25 @@ |
||||
/* |
||||
* Utility functions for FEL mode. |
||||
* |
||||
* Copyright (c) 2015 Google, Inc |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <asm-offsets.h> |
||||
#include <config.h> |
||||
#include <asm/system.h> |
||||
#include <linux/linkage.h> |
||||
|
||||
ENTRY(save_boot_params) |
||||
ldr r0, =fel_stash |
||||
str sp, [r0, #0] |
||||
str lr, [r0, #4] |
||||
b save_boot_params_ret |
||||
ENDPROC(save_boot_params) |
||||
|
||||
ENTRY(return_to_fel) |
||||
mov sp, r0 |
||||
mov lr, r1 |
||||
bx lr |
||||
ENDPROC(return_to_fel) |
@ -1,82 +0,0 @@ |
||||
/* |
||||
* (C) Copyright 2013 |
||||
* Henrik Nordstrom <henrik@henriknordstrom.net> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") |
||||
OUTPUT_ARCH(arm) |
||||
ENTRY(s_init) |
||||
SECTIONS |
||||
{ |
||||
. = 0x00002000; |
||||
|
||||
. = ALIGN(4); |
||||
.text : |
||||
{ |
||||
*(.text.s_init) |
||||
*(.text*) |
||||
} |
||||
|
||||
. = ALIGN(4); |
||||
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } |
||||
|
||||
. = ALIGN(4); |
||||
.data : { |
||||
*(.data*) |
||||
} |
||||
|
||||
. = ALIGN(4); |
||||
.u_boot_list : { |
||||
KEEP(*(SORT(.u_boot_list*))); |
||||
} |
||||
|
||||
. = ALIGN(4); |
||||
. = .; |
||||
|
||||
. = ALIGN(4); |
||||
.rel.dyn : { |
||||
__rel_dyn_start = .; |
||||
*(.rel*) |
||||
__rel_dyn_end = .; |
||||
} |
||||
|
||||
.dynsym : { |
||||
__dynsym_start = .; |
||||
*(.dynsym) |
||||
} |
||||
|
||||
. = ALIGN(4); |
||||
.note.gnu.build-id : |
||||
{ |
||||
*(.note.gnu.build-id) |
||||
} |
||||
_end = .; |
||||
|
||||
. = ALIGN(4096); |
||||
.mmutable : { |
||||
*(.mmutable) |
||||
} |
||||
|
||||
.bss_start __rel_dyn_start (OVERLAY) : { |
||||
KEEP(*(.__bss_start)); |
||||
__bss_base = .; |
||||
} |
||||
|
||||
.bss __bss_base (OVERLAY) : { |
||||
*(.bss*) |
||||
. = ALIGN(4); |
||||
__bss_limit = .; |
||||
} |
||||
|
||||
.bss_end __bss_limit (OVERLAY) : { |
||||
KEEP(*(.__bss_end)); |
||||
} |
||||
|
||||
/DISCARD/ : { *(.dynstr*) } |
||||
/DISCARD/ : { *(.dynamic*) } |
||||
/DISCARD/ : { *(.plt*) } |
||||
/DISCARD/ : { *(.interp*) } |
||||
/DISCARD/ : { *(.gnu*) } |
||||
/DISCARD/ : { *(.note*) } |
||||
} |
Loading…
Reference in new issue