arm-trusted-firmware/plat/marvell/armada/a8k/common/ble/ble.ld.S
Grzegorz Jaszczyk a28471722a marvell: armada: add extra level in marvell platform hierarchy
This commit is a preparation for upcoming support for OcteonTX and
OcteonTX2 product families. Armada platform related files (docs,
plat, include/plat) are moved to the new "armada" sub-folder.

Change-Id: Icf03356187078ad6a2e56c9870992be3ca4c9655
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
2020-06-07 00:06:03 +02:00

77 lines
1.6 KiB
ArmAsm

/*
* Copyright (C) 2018 Marvell International Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
* https://spdx.org/licenses
*/
#include <platform_def.h>
OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT)
OUTPUT_ARCH(PLATFORM_LINKER_ARCH)
ENTRY(ble_main)
MEMORY {
RAM (rwx): ORIGIN = BLE_BASE, LENGTH = BLE_LIMIT - BLE_BASE
}
SECTIONS
{
. = BLE_BASE;
ro . : {
__RO_START__ = .;
*ble_main.o(.entry*)
*(.text*)
*(.rodata*)
__RO_END_UNALIGNED__ = .;
__RO_END__ = .;
} >RAM
/*
* Define a linker symbol to mark start of the RW memory area for this
* image.
*/
__RW_START__ = . ;
.data . : {
__DATA_START__ = .;
*(.data*)
__DATA_END__ = .;
} >RAM
stacks . (NOLOAD) : {
__STACKS_START__ = .;
*(tzfw_normal_stacks)
__STACKS_END__ = .;
} >RAM
.bss : {
__BSS_START__ = .;
*(.bss*)
__BSS_END__ = .;
} >RAM
/*
* Extend the BLE binary to the maximum size allocated for it in platform
* definition files and prevent overlapping between BLE BSS section and
* additional extensions that can follow the BLE in flash image preamble.
* This situation happens for instance when secure extension is added to
* the image preamble.
*/
.fill LOADADDR(.bss) + SIZEOF(.bss) : {
FILL(0xDEADC0DE);
. = ORIGIN(RAM) + LENGTH(RAM) - 1;
BYTE(0x00)
} >RAM
/*
* Define a linker symbol to mark end of the RW memory area for this
* image.
*/
__RW_END__ = .;
__BLE_END__ = .;
__BSS_SIZE__ = SIZEOF(.bss);
}