diff --git a/bl31/bl31_main.c b/bl31/bl31_main.c index 4b7f63c..62bea01 100644 --- a/bl31/bl31_main.c +++ b/bl31/bl31_main.c @@ -57,7 +57,7 @@ /******************************************************************************* * Simple function to initialise all BL31 helper libraries. ******************************************************************************/ -void bl31_lib_init(void) +void __init bl31_lib_init(void) { cm_init(); } @@ -149,7 +149,7 @@ * This function programs EL3 registers and performs other setup to enable entry * into the next image after BL31 at the next ERET. ******************************************************************************/ -void bl31_prepare_next_image_entry(void) +void __init bl31_prepare_next_image_entry(void) { entry_point_info_t *next_image_info; uint32_t image_type; diff --git a/bl31/ehf.c b/bl31/ehf.c index 3d6d674..fa036cb 100644 --- a/bl31/ehf.c +++ b/bl31/ehf.c @@ -451,7 +451,7 @@ /* * Initialize the EL3 exception handling. */ -void ehf_init(void) +void __init ehf_init(void) { unsigned int flags = 0; int ret __unused; diff --git a/common/runtime_svc.c b/common/runtime_svc.c index ad564f5..03f7f7e 100644 --- a/common/runtime_svc.c +++ b/common/runtime_svc.c @@ -93,7 +93,7 @@ * The unique oen is used as an index into the 'rt_svc_descs_indices' array. * The index of the runtime service descriptor is stored at this index. ******************************************************************************/ -void runtime_svc_init(void) +void __init runtime_svc_init(void) { int rc = 0; unsigned int index, start_idx, end_idx; diff --git a/lib/el3_runtime/aarch64/context_mgmt.c b/lib/el3_runtime/aarch64/context_mgmt.c index ee5fe4f..acc8d6d 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 2e65eeb..f39e5f5 100644 --- a/lib/extensions/ras/ras_common.c +++ b/lib/extensions/ras/ras_common.c @@ -128,7 +128,7 @@ 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 b877b4b..adce843 100644 --- a/lib/psci/psci_common.c +++ b/lib/psci/psci_common.c @@ -216,7 +216,7 @@ /****************************************************************************** * 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 e59e163..6b3081e 100644 --- a/lib/psci/psci_setup.c +++ b/lib/psci/psci_setup.c @@ -32,7 +32,7 @@ * 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 @@ * 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 @@ * 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 @@ * | 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;