diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2016-12-06 10:42:23 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-01-30 11:18:51 -0500 |
commit | 6b650f5428297e8dde075d25e7862a20c8d47f04 (patch) | |
tree | b268ac9fb258732a7aea73179c2f09992b76cc36 /src/securerom.ld | |
parent | aff3f67b49b87d5e2755b364ecb512641bbb4540 (diff) | |
download | talos-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.ld | 104 |
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) + } } |