plat.ld.S 963 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. #include <lib/xlat_tables/xlat_tables_defs.h>
  9. MEMORY {
  10. EL3_SEC_DRAM (rw): ORIGIN = ARM_EL3_TZC_DRAM1_BASE, LENGTH = ARM_EL3_TZC_DRAM1_SIZE
  11. }
  12. SECTIONS
  13. {
  14. . = ARM_EL3_TZC_DRAM1_BASE;
  15. ASSERT(. == ALIGN(PAGE_SIZE),
  16. "ARM_EL3_TZC_DRAM_BASE address is not aligned on a page boundary.")
  17. .el3_tzc_dram (NOLOAD) : ALIGN(PAGE_SIZE) {
  18. __PLAT_SPMC_SHMEM_DATASTORE_START__ = .;
  19. *(.arm_spmc_shmem_datastore)
  20. __PLAT_SPMC_SHMEM_DATASTORE_END__ = .;
  21. __EL3_SEC_DRAM_START__ = .;
  22. *(.arm_el3_tzc_dram)
  23. #if SEPARATE_SIMD_SECTION
  24. . = ALIGN(16);
  25. *(.simd_context)
  26. #endif
  27. __EL3_SEC_DRAM_UNALIGNED_END__ = .;
  28. . = ALIGN(PAGE_SIZE);
  29. __EL3_SEC_DRAM_END__ = .;
  30. } >EL3_SEC_DRAM
  31. }
  32. #if RECLAIM_INIT_CODE
  33. #include <plat/arm/common/arm_reclaim_init.ld.S>
  34. #endif /* RECLAIM_INIT_CODE */
  35. #endif /* PLAT_LD_S */