summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2013-02-09 14:53:47 -0800
committerRonald G. Minnich <rminnich@gmail.com>2013-02-10 01:28:06 +0100
commitf5a302378aa062916b5838a81c26567b59f93a8f (patch)
tree5f7c94933b28bb657ddc4e9121448cae5a8450ed
parent74e27b419dc9da8ea7c7ceb9cc0ad203176d24f9 (diff)
armv7: make bootblock linker script more explicit
This adds a .bl1 and .start symbol that is placed at the beginning of the .rom section. The goal is to move the .id section in between the reset vector and bootblock_main. Change-Id: Ie732ce656d697c059cc0fa40c844b39f53fc214c Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: http://review.coreboot.org/2344 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/arch/armv7/bootblock.inc2
-rw-r--r--src/arch/armv7/bootblock.lds2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/armv7/bootblock.inc b/src/arch/armv7/bootblock.inc
index 25cc8c6be4..efe3d67bd1 100644
--- a/src/arch/armv7/bootblock.inc
+++ b/src/arch/armv7/bootblock.inc
@@ -31,6 +31,7 @@
#include <system.h>
+.section ".bl1", "a", %progbits
_bl1:
/* For now we have to live with a first stage boot loader
* on ARM, which is 8KB in size and it is prepended to the
@@ -38,6 +39,7 @@ _bl1:
*/
.skip (CONFIG_BL1_SIZE_KB * 1024)
+.section ".start", "a", %progbits
.globl _start
_start: b reset
.balignl 16,0xdeadbeef
diff --git a/src/arch/armv7/bootblock.lds b/src/arch/armv7/bootblock.lds
index 9482cef34d..f45e6c072d 100644
--- a/src/arch/armv7/bootblock.lds
+++ b/src/arch/armv7/bootblock.lds
@@ -30,6 +30,8 @@ SECTIONS
/* This section might be better named .setup */
.rom ROMLOC : {
_rom = .;
+ *(.bl1);
+ *(.start);
*(.text);
*(.text.*);
*(.rom.text);