diff options
author | Daniel Boulby <daniel.boulby@arm.com> | 2018-09-20 14:12:46 +0100 |
---|---|---|
committer | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2018-10-03 11:47:30 +0100 |
commit | 87c851349847a608f12623b7fd397956982e41b6 (patch) | |
tree | c84a4450f78e26230ca379f3e2900380c50d9297 /lib | |
parent | 1dcc28cfbac5dae3992ad9581f9ea68f6cb339c1 (diff) |
Mark BL31 initialization functions
Mark the initialization functions in BL31, such as context management,
EHF, RAS and PSCI as __init so that they can be reclaimed by the
platform when no longer needed
Change-Id: I7446aeee3dde8950b0f410cb766b7a2312c20130
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/el3_runtime/aarch64/context_mgmt.c | 2 | ||||
-rw-r--r-- | lib/extensions/ras/ras_common.c | 2 | ||||
-rw-r--r-- | lib/psci/psci_common.c | 2 | ||||
-rw-r--r-- | lib/psci/psci_setup.c | 8 |
4 files changed, 7 insertions, 7 deletions
diff --git a/lib/el3_runtime/aarch64/context_mgmt.c b/lib/el3_runtime/aarch64/context_mgmt.c index ee5fe4f9..acc8d6d2 100644 --- a/lib/el3_runtime/aarch64/context_mgmt.c +++ b/lib/el3_runtime/aarch64/context_mgmt.c @@ -36,7 +36,7 @@ * which will used for programming an entry into a lower EL. The same context * will used to save state upon exception entry from that EL. ******************************************************************************/ -void cm_init(void) +void __init cm_init(void) { /* * The context management library has only global data to intialize, but diff --git a/lib/extensions/ras/ras_common.c b/lib/extensions/ras/ras_common.c index 2e65eebb..f39e5f5f 100644 --- a/lib/extensions/ras/ras_common.c +++ b/lib/extensions/ras/ras_common.c @@ -128,7 +128,7 @@ static int ras_interrupt_handler(uint32_t intr_raw, uint32_t flags, return 0; } -void ras_init(void) +void __init ras_init(void) { #if ENABLE_ASSERTIONS /* Check RAS interrupts are sorted */ diff --git a/lib/psci/psci_common.c b/lib/psci/psci_common.c index b877b4ba..adce843a 100644 --- a/lib/psci/psci_common.c +++ b/lib/psci/psci_common.c @@ -216,7 +216,7 @@ static void psci_set_req_local_pwr_state(unsigned int pwrlvl, /****************************************************************************** * This function initializes the psci_req_local_pwr_states. *****************************************************************************/ -void psci_init_req_local_pwr_states(void) +void __init psci_init_req_local_pwr_states(void) { /* Initialize the requested state of all non CPU power domains as OFF */ unsigned int pwrlvl; diff --git a/lib/psci/psci_setup.c b/lib/psci/psci_setup.c index e59e163e..6b3081eb 100644 --- a/lib/psci/psci_setup.c +++ b/lib/psci/psci_setup.c @@ -32,7 +32,7 @@ unsigned int psci_caps; * Function which initializes the 'psci_non_cpu_pd_nodes' or the * 'psci_cpu_pd_nodes' corresponding to the power level. ******************************************************************************/ -static void psci_init_pwr_domain_node(unsigned char node_idx, +static void __init psci_init_pwr_domain_node(unsigned char node_idx, unsigned int parent_idx, unsigned char level) { @@ -80,7 +80,7 @@ static void psci_init_pwr_domain_node(unsigned char node_idx, * mapping of the CPUs to indices via plat_core_pos_by_mpidr() and * plat_my_core_pos() APIs. *******************************************************************************/ -static void psci_update_pwrlvl_limits(void) +static void __init psci_update_pwrlvl_limits(void) { int j, cpu_idx; unsigned int nodes_idx[PLAT_MAX_PWR_LVL] = {0}; @@ -107,7 +107,7 @@ static void psci_update_pwrlvl_limits(void) * informs the number of root power domains. The parent nodes of the root nodes * will point to an invalid entry(-1). ******************************************************************************/ -static void populate_power_domain_tree(const unsigned char *topology) +static void __init populate_power_domain_tree(const unsigned char *topology) { unsigned int i, j = 0U, num_nodes_at_lvl = 1U, num_nodes_at_next_lvl; unsigned int node_index = 0U, num_children; @@ -184,7 +184,7 @@ static void populate_power_domain_tree(const unsigned char *topology) * | CPU 0 | CPU 1 | CPU 2 | CPU 3 | * ------------------------------------------------ ******************************************************************************/ -int psci_setup(const psci_lib_args_t *lib_args) +int __init psci_setup(const psci_lib_args_t *lib_args) { const unsigned char *topology_tree; |