summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2013-02-06 15:47:31 -0600
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-03-19 20:31:41 +0100
commitf7c6d489ae28af611811515c1df96cfb10c79e9f (patch)
treed87fd40fabe4e19139fff548caacd34da77a54a4 /src/arch/x86
parent991ce8fc74ff80cbe2c1c892e40aac0b209f35c4 (diff)
rmodule: add ramstage support
Coreboot's ramstage defines certain sections/symbols in its fixed static linker script. It uses these sections/symbols for locating the drivers as well as its own program information. Add these sections and symbols to the rmodule linker script so that ramstage can be linked as an rmodule. These sections and symbols are a noop for other rmodule-linked programs, but they are vital to the ramstage. Also add a comment in coreboot_ram.ld to mirror any changes made there to the rmodule linker script. Change-Id: Ib9885a00e987aef0ee1ae34f1d73066e15bca9b1 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/2786 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/coreboot_ram.ld5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arch/x86/coreboot_ram.ld b/src/arch/x86/coreboot_ram.ld
index d9f09090d9..2dd51d515b 100644
--- a/src/arch/x86/coreboot_ram.ld
+++ b/src/arch/x86/coreboot_ram.ld
@@ -50,6 +50,10 @@ SECTIONS
.rodata : {
_rodata = .;
. = ALIGN(4);
+
+ /* If any changes are made to the driver start/symbols or the
+ * section names the equivalent changes need to made to
+ * rmodule.ld. */
console_drivers = .;
*(.rodata.console_drivers)
econsole_drivers = . ;
@@ -60,6 +64,7 @@ SECTIONS
cpu_drivers = . ;
*(.rodata.cpu_driver)
ecpu_drivers = . ;
+
*(.rodata)
*(.rodata.*)
/* kevinh/Ispiri - Added an align, because the objcopy tool