summaryrefslogtreecommitdiffstats
path: root/src/securerom.ld
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2016-12-06 10:42:23 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-01-30 11:18:51 -0500
commit6b650f5428297e8dde075d25e7862a20c8d47f04 (patch)
treeb268ac9fb258732a7aea73179c2f09992b76cc36 /src/securerom.ld
parentaff3f67b49b87d5e2755b364ecb512641bbb4540 (diff)
downloadtalos-hostboot-6b650f5428297e8dde075d25e7862a20c8d47f04.tar.gz
talos-hostboot-6b650f5428297e8dde075d25e7862a20c8d47f04.zip
Compile ROM code within Hostboot
Additionally added version id to resolve story 135747 RTC: 143902 Change-Id: I67ad4b28b76464aaa58ec2c344cd1f9ceef9ff73 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33608 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/securerom.ld')
-rw-r--r--src/securerom.ld104
1 files changed, 41 insertions, 63 deletions
diff --git a/src/securerom.ld b/src/securerom.ld
index 10670afe9..4159440a6 100644
--- a/src/securerom.ld
+++ b/src/securerom.ld
@@ -22,75 +22,53 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-/*****************************************************************************/
-/* linker script for low level firmware */
-/*****************************************************************************/
-
-/* PH: to use the same lds file for 32/64bit, don't specify
- * OUTPUT_FORMAT, OUTPUT_ARCH here.
- * /
- OUTPUT_FORMAT("elf64-powerpc")
- OUTPUT_ARCH(powerpc64:common)
- */
-
-/* set the entry point */
-ENTRY(_instruction_start)
-
-MEMORY {
- secure_boot_rom (IRX): ORIGIN = 0x80001C0000000000, LENGTH = 32K
-/* untrusted_memory (RW): ORIGIN = 0x8000000000000000, LENGTH = 0x0000000000800000
-* trusted_memory (RW): ORIGIN = 0x8000000000800000, LENGTH = 0x800000FFFF800000
-*/
-}
-
SECTIONS {
- . = 0x80001C0000000000; /* tbrom base address */
-
- .branchtable : {
- . = ALIGN(0x1000);
- }>secure_boot_rom
-
- .text : {
- *(.text)
- }>secure_boot_rom
+ .text : {
+ *(.branchtable)
+ *(.text)
+ *(.text._*)
+ *(.text.*)
+ *(.sfpr)
+ }
- . = ALIGN(8);
+ .rodata ALIGN(0x8): {
+ *(.rodata)
+ *(.rodata.*)
+ . = ALIGN(8);
+ __toc_start = .;
+ *(.toc)
+ *(.opd)
+ *(.got)
+ *(.plt)
+ *(.data.rel.ro.*)
+ }
- __toc_start = .;
- .toc : {
- *(.toc .got)
- }>secure_boot_rom
- . = ALIGN(8);
- __toc_end = .;
+ .data ALIGN(0x8): {
+ *(.data)
+ *(.data.*)
+ *(.got1)
+ *(.sdata)
+ *(.bss)
+ *(.bss.*)
+ }
- .data : {
- *(.data)
- *(.rodata .rodata.*)
- *(.got1)
- *(.sdata)
- }>secure_boot_rom
+ end_load_address = .;
- . = ALIGN(8);
+ .rela : {
+ *(.rela.*)
+ }
- /* PH: opd section must be separate, if i put it in .data,
- * the C functions are not present in the generated file....
- * If anybody can explain why, i'd be glad to hear...
- * Note: the KEEP has been removed was: " KEEP (*(.opd)) "
- */
- .opd ALIGN(8) : {
- *(.opd)
- }>secure_boot_rom
-
- . = ALIGN(8);
- __bss_start = .;
- .bss : {
- *(.sbss) *(.scommon)
- *(.dynbss)
- *(.bss)
- }>secure_boot_rom
- . = ALIGN(8);
- __bss_end = .;
- __bss_size = SIZEOF(.bss);
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .eh_frame : { *(.eh_frame) }
+ /DISCARD/ : {
+ *(.comment)
+ *(.gnu.attributes)
+ *(.dtors)
+ *(.interp)
+ }
}
OpenPOWER on IntegriCloud