123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- #include <common/bl_common.ld.h>
- #include <lib/xlat_tables/xlat_tables_defs.h>
- /* Mapped using 4K pages, requires us to align different sections with
- * different property at the same granularity. */
- PAGE_SIZE_4K = 4096;
- OUTPUT_FORMAT("elf64-littleaarch64")
- OUTPUT_ARCH(aarch64)
- ENTRY(trp_head)
- MEMORY {
- RAM (rwx): ORIGIN = RMM_BASE, LENGTH = RMM_LIMIT - RMM_BASE
- }
- SECTIONS
- {
- . = RMM_BASE;
- .text : {
- *(.head.text)
- . = ALIGN(8);
- *(.text*)
- } >RAM
- . = ALIGN(PAGE_SIZE_4K);
- .rodata : {
- *(.rodata*)
- } >RAM
- . = ALIGN(PAGE_SIZE_4K);
- __RW_START__ = . ;
- .data : {
- *(.data*)
- } >RAM
- .bss (NOLOAD) : {
- __BSS_START__ = .;
- *(.bss*)
- __BSS_END__ = .;
- } >RAM
- __BSS_SIZE__ = SIZEOF(.bss);
- STACK_SECTION >RAM
- /*
- * Define a linker symbol to mark the end of the RW memory area for this
- * image.
- */
- __RW_END__ = .;
- __RMM_END__ = .;
- /DISCARD/ : { *(.dynstr*) }
- /DISCARD/ : { *(.dynamic*) }
- /DISCARD/ : { *(.plt*) }
- /DISCARD/ : { *(.interp*) }
- /DISCARD/ : { *(.gnu*) }
- /DISCARD/ : { *(.note*) }
- }
|