From aff3f67b49b87d5e2755b364ecb512641bbb4540 Mon Sep 17 00:00:00 2001 From: Stephen Cprek Date: Mon, 5 Dec 2016 16:29:06 -0600 Subject: Add ROM code files in Hostboot RTC: 143902 Change-Id: Iff00250b1dd36c301c311147a1540a5f3c33f19b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33607 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Nicholas E. Bofferding Tested-by: Jenkins OP Build CI Reviewed-by: Michael Baiocchi Reviewed-by: Daniel M. Crowell --- src/securerom.ld | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/securerom.ld (limited to 'src/securerom.ld') diff --git a/src/securerom.ld b/src/securerom.ld new file mode 100644 index 000000000..10670afe9 --- /dev/null +++ b/src/securerom.ld @@ -0,0 +1,96 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/securerom.ld $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* 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 + + . = ALIGN(8); + + __toc_start = .; + .toc : { + *(.toc .got) + }>secure_boot_rom + . = ALIGN(8); + __toc_end = .; + + .data : { + *(.data) + *(.rodata .rodata.*) + *(.got1) + *(.sdata) + }>secure_boot_rom + + . = ALIGN(8); + + /* 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); + +} -- cgit v1.2.1