blob: c1f5e20aab48133a53dbbc2514e9d238db10d0a4 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) Marvell International Ltd. and its affiliates
*******************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
*******************************************************************************/
/*
* bootloader memory layout:
* 0x00100000 - 0x0017C000 496kB vt, drm_img, custkey, bootloader preloaded buffer
* 0x0017C000 - 0x00180000 16kB 16kB for level 1 translation table base
* 0x00180000 - 0x004C0000 3328kB code, rodata, data, bss, heap
* 0x004C0000 - 0x00500000 256kB stack
*
*******************************************************************************/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(BootLoaderEntry)
SECTIONS
{
. = 0x1100000 - 0x10000;
__usb_console_buf_start = .;
. = 0x1100000;
__usb_console_buf_end = .;
. = 0x01600000;
__preload_buf_start = .;
. = 0x01680000 - 0x4000;
. = ALIGN(0x4000);
__ttb_base_start = .;
. = 0x01680000;
. = ALIGN(4);
.text :
{
*(.text)
}
.rodata :
{
*(.rodata)
}
. = ALIGN(4);
.data :
{
*(.data)
}
__exidx_start = .;
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
__exidx_end = .;
. = ALIGN(4);
__bss_start = .;
.bss :
{
*(.bss)
}
__bss_end = .;
. = ALIGN(8);
__heap_start = .;
. = 0x01A00000 - 0x00040000;
__heap_end = .;
. = 0x01A00000;
. = ALIGN(8);
__stack_start = .;
}