diff options
author | Antonio Niño Díaz <antonio.ninodiaz@arm.com> | 2019-03-01 11:23:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-01 11:23:58 +0000 |
commit | a4acc7f16500d7856f3317f8412665249da7e947 (patch) | |
tree | d97353d7d44c2335a42e7dd213b606d70d3391da /include/lib/el3_runtime | |
parent | 37118a1b5f0a0dfb061c986eb67d72bbe2ae8c79 (diff) | |
parent | c2ad38ce4fe754c750f3db480f732ac280f508e4 (diff) |
Merge pull request #1751 from vwadekar/tegra-scatter-file-support
Tegra scatter file support
Diffstat (limited to 'include/lib/el3_runtime')
-rw-r--r-- | include/lib/el3_runtime/pubsub.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/include/lib/el3_runtime/pubsub.h b/include/lib/el3_runtime/pubsub.h index 9c303f54..64fe5ccb 100644 --- a/include/lib/el3_runtime/pubsub.h +++ b/include/lib/el3_runtime/pubsub.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,13 +7,11 @@ #ifndef PUBSUB_H #define PUBSUB_H -#define __pubsub_start_sym(event) __pubsub_##event##_start -#define __pubsub_end_sym(event) __pubsub_##event##_end - #ifdef __LINKER__ /* For the linker ... */ - +#define __pubsub_start_sym(event) __pubsub_##event##_start +#define __pubsub_end_sym(event) __pubsub_##event##_end #define __pubsub_section(event) __pubsub_##event /* @@ -21,10 +19,22 @@ * contexts. In linker context, this collects pubsub sections for each event, * placing guard symbols around each. */ +#if defined(USE_ARM_LINK) +#define REGISTER_PUBSUB_EVENT(event) \ + __pubsub_start_sym(event) +0 FIXED \ + { \ + *(__pubsub_section(event)) \ + } \ + __pubsub_end_sym(event) +0 FIXED EMPTY 0 \ + { \ + /* placeholder */ \ + } +#else #define REGISTER_PUBSUB_EVENT(event) \ __pubsub_start_sym(event) = .; \ KEEP(*(__pubsub_section(event))); \ __pubsub_end_sym(event) = . +#endif #else /* __LINKER__ */ @@ -36,6 +46,14 @@ #include <arch_helpers.h> +#if defined(USE_ARM_LINK) +#define __pubsub_start_sym(event) Load$$__pubsub_##event##_start$$Base +#define __pubsub_end_sym(event) Load$$__pubsub_##event##_end$$Base +#else +#define __pubsub_start_sym(event) __pubsub_##event##_start +#define __pubsub_end_sym(event) __pubsub_##event##_end +#endif + #define __pubsub_section(event) __section("__pubsub_" #event) /* |