diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2020-03-26 10:51:39 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2020-04-02 12:33:18 +0900 |
commit | 9fb288a03ed2ced7706defbbf78f008e921e17e2 (patch) | |
tree | e1916afee644c57e87d40cd4986dc2c849468173 /bl1 | |
parent | 0a43db84af8cafaf35155d0e96e679b79a775272 (diff) | |
download | arm-trusted-firmware-9fb288a03ed2ced7706defbbf78f008e921e17e2.tar.gz |
linker_script: move more common code to bl_common.ld.h
These are mostly used to collect data from special structure,
and repeated in many linker scripts.
To differentiate the alignment size between aarch32/aarch64, I added
a new macro STRUCT_ALIGN.
While I moved the PMF_SVC_DESCS, I dropped #if ENABLE_PMF conditional.
As you can see in include/lib/pmf/pmf_helpers.h, PMF_REGISTER_SERVICE*
are no-op when ENABLE_PMF=0. So, pmf_svc_descs and pmf_timestamp_array
data are not populated.
Change-Id: I3f4ab7fa18f76339f1789103407ba76bda7e56d0
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'bl1')
-rw-r--r-- | bl1/bl1.ld.S | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S index e65ab9004..87f1ae82f 100644 --- a/bl1/bl1.ld.S +++ b/bl1/bl1.ld.S @@ -4,8 +4,6 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <platform_def.h> - #include <common/bl_common.ld.h> #include <lib/xlat_tables/xlat_tables_defs.h> @@ -47,20 +45,8 @@ SECTIONS __RODATA_START__ = .; *(SORT_BY_ALIGNMENT(.rodata*)) - /* Ensure 8-byte alignment for descriptors and ensure inclusion */ - . = ALIGN(8); - __PARSER_LIB_DESCS_START__ = .; - KEEP(*(.img_parser_lib_descs)) - __PARSER_LIB_DESCS_END__ = .; - - /* - * Ensure 8-byte alignment for cpu_ops so that its fields are also - * aligned. Also ensure cpu_ops inclusion. - */ - . = ALIGN(8); - __CPU_OPS_START__ = .; - KEEP(*(cpu_ops)) - __CPU_OPS_END__ = .; + PARSER_LIB_DESCS + CPU_OPS /* * No need to pad out the .rodata section to a page boundary. Next is @@ -81,20 +67,8 @@ SECTIONS *(SORT_BY_ALIGNMENT(.text*)) *(SORT_BY_ALIGNMENT(.rodata*)) - /* Ensure 8-byte alignment for descriptors and ensure inclusion */ - . = ALIGN(8); - __PARSER_LIB_DESCS_START__ = .; - KEEP(*(.img_parser_lib_descs)) - __PARSER_LIB_DESCS_END__ = .; - - /* - * Ensure 8-byte alignment for cpu_ops so that its fields are also - * aligned. Also ensure cpu_ops inclusion. - */ - . = ALIGN(8); - __CPU_OPS_START__ = .; - KEEP(*(cpu_ops)) - __CPU_OPS_END__ = .; + PARSER_LIB_DESCS + CPU_OPS *(.vectors) __RO_END__ = .; |