xref: /rk3399_ARM-atf/plat/arm/board/fvp/include/plat.ld.S (revision 4b6e4e618e141a4ba7eef6f4bfd0fc6455dc2cba)
1/*
2 * Copyright (c) 2017-2024, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6#ifndef PLAT_LD_S
7#define PLAT_LD_S
8
9#include <lib/xlat_tables/xlat_tables_defs.h>
10
11MEMORY {
12    EL3_SEC_DRAM (rw): ORIGIN = ARM_EL3_TZC_DRAM1_BASE, LENGTH = ARM_EL3_TZC_DRAM1_SIZE
13}
14
15SECTIONS
16{
17	. = ARM_EL3_TZC_DRAM1_BASE;
18	ASSERT(. == ALIGN(PAGE_SIZE),
19	"ARM_EL3_TZC_DRAM_BASE address is not aligned on a page boundary.")
20	.el3_tzc_dram (NOLOAD) : ALIGN(PAGE_SIZE) {
21	__PLAT_SPMC_SHMEM_DATASTORE_START__ = .;
22	*(.arm_spmc_shmem_datastore)
23	__PLAT_SPMC_SHMEM_DATASTORE_END__ = .;
24	__EL3_SEC_DRAM_START__ = .;
25	*(.arm_el3_tzc_dram)
26#if SEPARATE_SIMD_SECTION
27	. = ALIGN(16);
28	*(.simd_context)
29#endif
30	__EL3_SEC_DRAM_UNALIGNED_END__ = .;
31
32	. = ALIGN(PAGE_SIZE);
33	__EL3_SEC_DRAM_END__ = .;
34	} >EL3_SEC_DRAM
35}
36
37#if RECLAIM_INIT_CODE
38#include <plat/arm/common/arm_reclaim_init.ld.S>
39#endif /* RECLAIM_INIT_CODE */
40
41#endif /* PLAT_LD_S */
42