This patch introduces a relocatable PrePi, which can execute from arbitrary offsets in RAM. This is intendend to be run from a boot loader which passes a description of the actual platform in a device tree, for instance. This module is based on the PrePi implementations residing under ArmPlatformPkg. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Olivier Martin <olivier.martin@arm.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16961 6f19259b-4bc3-4df7-8a09-765794883524
43 lines
995 B
Plaintext
43 lines
995 B
Plaintext
#/** @file
|
|
#
|
|
# Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#**/
|
|
|
|
SECTIONS
|
|
{
|
|
.text 0x0 : {
|
|
PROVIDE(__reloc_base = .);
|
|
|
|
*(.text .text*)
|
|
*(.got .got*)
|
|
*(.rodata .rodata*)
|
|
*(.data .data*)
|
|
|
|
. = ALIGN(0x20);
|
|
PROVIDE(__reloc_start = .);
|
|
*(.rela .rela*)
|
|
PROVIDE(__reloc_end = .);
|
|
}
|
|
.bss ALIGN(0x20) : { *(.bss .bss*) }
|
|
|
|
/DISCARD/ : {
|
|
*(.note.GNU-stack)
|
|
*(.gnu_debuglink)
|
|
*(.interp)
|
|
*(.dynamic)
|
|
*(.dynsym)
|
|
*(.dynstr)
|
|
*(.hash)
|
|
*(.comment)
|
|
}
|
|
}
|