From 87d3aacc88f43ec162ef3983f2261b9c9296fc68 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Tue, 1 May 2018 15:15:34 +0100 Subject: [PATCH 1/9] Fix MISRA Rule 5.1 Rule 5.1: External identifiers shall be distinct Some of the identifier names in the GICv3 driver were so long that the first 31 characters were identical. This patch shortens these names to make sure they are different. Fixed for: LOG_LEVEL=50 PLAT=fvp Change-Id: Iecd551e3a015d144716b87b42c83dd3ab8c34d90 Signed-off-by: Daniel Boulby --- drivers/arm/gic/v3/gicv3_helpers.c | 12 ++++++------ drivers/arm/gic/v3/gicv3_main.c | 16 ++++++++-------- drivers/arm/gic/v3/gicv3_private.h | 12 ++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/arm/gic/v3/gicv3_helpers.c b/drivers/arm/gic/v3/gicv3_helpers.c index 020ec1b635..2ea8c727b1 100644 --- a/drivers/arm/gic/v3/gicv3_helpers.c +++ b/drivers/arm/gic/v3/gicv3_helpers.c @@ -342,7 +342,7 @@ void gicv3_rdistif_base_addrs_probe(uintptr_t *rdistif_base_addrs, /******************************************************************************* * Helper function to configure the default attributes of SPIs. ******************************************************************************/ -void gicv3_spis_configure_defaults(uintptr_t gicd_base) +void gicv3_spis_config_defaults(uintptr_t gicd_base) { unsigned int index, num_ints; @@ -375,7 +375,7 @@ void gicv3_spis_configure_defaults(uintptr_t gicd_base) /******************************************************************************* * Helper function to configure secure G0 and G1S SPIs. ******************************************************************************/ -void gicv3_secure_spis_configure(uintptr_t gicd_base, +void gicv3_secure_spis_config(uintptr_t gicd_base, unsigned int num_ints, const unsigned int *sec_intr_list, unsigned int int_grp) @@ -423,7 +423,7 @@ void gicv3_secure_spis_configure(uintptr_t gicd_base, /******************************************************************************* * Helper function to configure properties of secure SPIs ******************************************************************************/ -unsigned int gicv3_secure_spis_configure_props(uintptr_t gicd_base, +unsigned int gicv3_secure_spis_config_props(uintptr_t gicd_base, const interrupt_prop_t *interrupt_props, unsigned int interrupt_props_num) { @@ -478,7 +478,7 @@ unsigned int gicv3_secure_spis_configure_props(uintptr_t gicd_base, /******************************************************************************* * Helper function to configure the default attributes of SPIs. ******************************************************************************/ -void gicv3_ppi_sgi_configure_defaults(uintptr_t gicr_base) +void gicv3_ppi_sgi_config_defaults(uintptr_t gicr_base) { unsigned int index; @@ -507,7 +507,7 @@ void gicv3_ppi_sgi_configure_defaults(uintptr_t gicr_base) /******************************************************************************* * Helper function to configure secure G0 and G1S SPIs. ******************************************************************************/ -void gicv3_secure_ppi_sgi_configure(uintptr_t gicr_base, +void gicv3_secure_ppi_sgi_config(uintptr_t gicr_base, unsigned int num_ints, const unsigned int *sec_intr_list, unsigned int int_grp) @@ -546,7 +546,7 @@ void gicv3_secure_ppi_sgi_configure(uintptr_t gicr_base, /******************************************************************************* * Helper function to configure properties of secure G0 and G1S PPIs and SGIs. ******************************************************************************/ -unsigned int gicv3_secure_ppi_sgi_configure_props(uintptr_t gicr_base, +unsigned int gicv3_secure_ppi_sgi_config_props(uintptr_t gicr_base, const interrupt_prop_t *interrupt_props, unsigned int interrupt_props_num) { diff --git a/drivers/arm/gic/v3/gicv3_main.c b/drivers/arm/gic/v3/gicv3_main.c index 82f43d0856..83d030a86a 100644 --- a/drivers/arm/gic/v3/gicv3_main.c +++ b/drivers/arm/gic/v3/gicv3_main.c @@ -190,12 +190,12 @@ void gicv3_distif_init(void) CTLR_ARE_S_BIT | CTLR_ARE_NS_BIT, RWP_TRUE); /* Set the default attribute of all SPIs */ - gicv3_spis_configure_defaults(gicv3_driver_data->gicd_base); + gicv3_spis_config_defaults(gicv3_driver_data->gicd_base); #if !ERROR_DEPRECATED if (gicv3_driver_data->interrupt_props != NULL) { #endif - bitmap = gicv3_secure_spis_configure_props( + bitmap = gicv3_secure_spis_config_props( gicv3_driver_data->gicd_base, gicv3_driver_data->interrupt_props, gicv3_driver_data->interrupt_props_num); @@ -213,7 +213,7 @@ void gicv3_distif_init(void) /* Configure the G1S SPIs */ if (gicv3_driver_data->g1s_interrupt_array) { - gicv3_secure_spis_configure(gicv3_driver_data->gicd_base, + gicv3_secure_spis_config(gicv3_driver_data->gicd_base, gicv3_driver_data->g1s_interrupt_num, gicv3_driver_data->g1s_interrupt_array, INTR_GROUP1S); @@ -222,7 +222,7 @@ void gicv3_distif_init(void) /* Configure the G0 SPIs */ if (gicv3_driver_data->g0_interrupt_array) { - gicv3_secure_spis_configure(gicv3_driver_data->gicd_base, + gicv3_secure_spis_config(gicv3_driver_data->gicd_base, gicv3_driver_data->g0_interrupt_num, gicv3_driver_data->g0_interrupt_array, INTR_GROUP0); @@ -263,12 +263,12 @@ void gicv3_rdistif_init(unsigned int proc_num) gicr_base = gicv3_driver_data->rdistif_base_addrs[proc_num]; /* Set the default attribute of all SGIs and PPIs */ - gicv3_ppi_sgi_configure_defaults(gicr_base); + gicv3_ppi_sgi_config_defaults(gicr_base); #if !ERROR_DEPRECATED if (gicv3_driver_data->interrupt_props != NULL) { #endif - bitmap = gicv3_secure_ppi_sgi_configure_props(gicr_base, + bitmap = gicv3_secure_ppi_sgi_config_props(gicr_base, gicv3_driver_data->interrupt_props, gicv3_driver_data->interrupt_props_num); #if !ERROR_DEPRECATED @@ -285,7 +285,7 @@ void gicv3_rdistif_init(unsigned int proc_num) /* Configure the G1S SGIs/PPIs */ if (gicv3_driver_data->g1s_interrupt_array) { - gicv3_secure_ppi_sgi_configure(gicr_base, + gicv3_secure_ppi_sgi_config(gicr_base, gicv3_driver_data->g1s_interrupt_num, gicv3_driver_data->g1s_interrupt_array, INTR_GROUP1S); @@ -294,7 +294,7 @@ void gicv3_rdistif_init(unsigned int proc_num) /* Configure the G0 SGIs/PPIs */ if (gicv3_driver_data->g0_interrupt_array) { - gicv3_secure_ppi_sgi_configure(gicr_base, + gicv3_secure_ppi_sgi_config(gicr_base, gicv3_driver_data->g0_interrupt_num, gicv3_driver_data->g0_interrupt_array, INTR_GROUP0); diff --git a/drivers/arm/gic/v3/gicv3_private.h b/drivers/arm/gic/v3/gicv3_private.h index c4474a4ce8..db485d2450 100644 --- a/drivers/arm/gic/v3/gicv3_private.h +++ b/drivers/arm/gic/v3/gicv3_private.h @@ -85,22 +85,22 @@ void gicr_set_icfgr1(uintptr_t base, unsigned int id, unsigned int cfg); /******************************************************************************* * Private GICv3 helper function prototypes ******************************************************************************/ -void gicv3_spis_configure_defaults(uintptr_t gicd_base); -void gicv3_ppi_sgi_configure_defaults(uintptr_t gicr_base); +void gicv3_spis_config_defaults(uintptr_t gicd_base); +void gicv3_ppi_sgi_config_defaults(uintptr_t gicr_base); #if !ERROR_DEPRECATED -void gicv3_secure_spis_configure(uintptr_t gicd_base, +void gicv3_secure_spis_config(uintptr_t gicd_base, unsigned int num_ints, const unsigned int *sec_intr_list, unsigned int int_grp); -void gicv3_secure_ppi_sgi_configure(uintptr_t gicr_base, +void gicv3_secure_ppi_sgi_config(uintptr_t gicr_base, unsigned int num_ints, const unsigned int *sec_intr_list, unsigned int int_grp); #endif -unsigned int gicv3_secure_ppi_sgi_configure_props(uintptr_t gicr_base, +unsigned int gicv3_secure_ppi_sgi_config_props(uintptr_t gicr_base, const interrupt_prop_t *interrupt_props, unsigned int interrupt_props_num); -unsigned int gicv3_secure_spis_configure_props(uintptr_t gicd_base, +unsigned int gicv3_secure_spis_config_props(uintptr_t gicd_base, const interrupt_prop_t *interrupt_props, unsigned int interrupt_props_num); void gicv3_rdistif_base_addrs_probe(uintptr_t *rdistif_base_addrs, From d3775d46a43a47c521193229cfcb1c0d6cb4878b Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Fri, 4 May 2018 11:18:26 +0100 Subject: [PATCH 2/9] Fix MISRA Rule 5.3 Part 1 Conflict with function name and variable name within that function. Change the name of the function from image_size to get_image_size to remove conflict and make the function fit the normal project naming convention. Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope Fixed For: make LOG_LEVEL=50 PLAT=fvp Change-Id: I1a63d2730113e2741fffa79730459c584b0224d7 Signed-off-by: Daniel Boulby --- common/bl_common.c | 2 +- include/common/bl_common.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/bl_common.c b/common/bl_common.c index 6b979f64ae..af51c07d51 100644 --- a/common/bl_common.c +++ b/common/bl_common.c @@ -184,7 +184,7 @@ static void dump_load_info(uintptr_t image_load_addr, #endif /* LOAD_IMAGE_V2 */ /* Generic function to return the size of an image */ -size_t image_size(unsigned int image_id) +size_t get_image_size(unsigned int image_id) { uintptr_t dev_handle; uintptr_t image_handle; diff --git a/include/common/bl_common.h b/include/common/bl_common.h index c7c748729c..f64e6aee60 100644 --- a/include/common/bl_common.h +++ b/include/common/bl_common.h @@ -207,7 +207,7 @@ typedef struct bl31_params { /******************************************************************************* * Function & variable prototypes ******************************************************************************/ -size_t image_size(unsigned int image_id); +size_t get_image_size(unsigned int image_id); int is_mem_free(uintptr_t free_base, size_t free_size, uintptr_t addr, size_t size); From 896a5902ecd9f8ffd1ad7cfd75ea646351c79fc1 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Fri, 4 May 2018 14:04:07 +0100 Subject: [PATCH 3/9] Fix MISRA Rule 5.3 Part 2 Use a _ prefix for Macro arguments to prevent that argument from hiding variables of the same name in the outer scope Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope Fixed For: make LOG_LEVEL=50 PLAT=fvp Change-Id: I67b6b05cbad4aeca65ce52981b4679b340604708 Signed-off-by: Daniel Boulby --- common/tf_printf.c | 12 +++--- drivers/arm/gic/v3/gicv3_private.h | 14 +++---- drivers/arm/smmu/smmu_v3.c | 4 +- drivers/arm/tzc/tzc400.c | 2 +- .../xlat_tables/aarch32/xlat_tables_aarch32.h | 6 +-- .../xlat_tables/aarch64/xlat_tables_aarch64.h | 8 ++-- lib/locks/bakery/bakery_lock_coherent.c | 6 +-- lib/psci/psci_private.h | 38 +++++++++---------- 8 files changed, 45 insertions(+), 45 deletions(-) diff --git a/common/tf_printf.c b/common/tf_printf.c index d403983381..9d8333a6b0 100644 --- a/common/tf_printf.c +++ b/common/tf_printf.c @@ -15,13 +15,13 @@ * The tf_printf implementation for all BL stages ***********************************************************/ -#define get_num_va_args(args, lcount) \ - (((lcount) > 1) ? va_arg(args, long long int) : \ - ((lcount) ? va_arg(args, long int) : va_arg(args, int))) +#define get_num_va_args(_args, _lcount) \ + (((_lcount) > 1) ? va_arg(_args, long long int) : \ + ((_lcount) ? va_arg(_args, long int) : va_arg(_args, int))) -#define get_unum_va_args(args, lcount) \ - (((lcount) > 1) ? va_arg(args, unsigned long long int) : \ - ((lcount) ? va_arg(args, unsigned long int) : va_arg(args, unsigned int))) +#define get_unum_va_args(_args, _lcount) \ + (((_lcount) > 1) ? va_arg(_args, unsigned long long int) : \ + ((_lcount) ? va_arg(_args, unsigned long int) : va_arg(_args, unsigned int))) void tf_string_print(const char *str) { diff --git a/drivers/arm/gic/v3/gicv3_private.h b/drivers/arm/gic/v3/gicv3_private.h index db485d2450..e1c0775f7e 100644 --- a/drivers/arm/gic/v3/gicv3_private.h +++ b/drivers/arm/gic/v3/gicv3_private.h @@ -27,20 +27,20 @@ * GICD_IROUTER. Bits[31:24] in the MPIDR are cleared as they are not relevant * to GICv3. */ -#define gicd_irouter_val_from_mpidr(mpidr, irm) \ - ((mpidr & ~(0xff << 24)) | \ - (irm & IROUTER_IRM_MASK) << IROUTER_IRM_SHIFT) +#define gicd_irouter_val_from_mpidr(_mpidr, _irm) \ + ((_mpidr & ~(0xff << 24)) | \ + (_irm & IROUTER_IRM_MASK) << IROUTER_IRM_SHIFT) /* * Macro to convert a GICR_TYPER affinity value into a MPIDR value. Bits[31:24] * are zeroes. */ #ifdef AARCH32 -#define mpidr_from_gicr_typer(typer_val) (((typer_val) >> 32) & 0xffffff) +#define mpidr_from_gicr_typer(_typer_val) (((_typer_val) >> 32) & 0xffffff) #else -#define mpidr_from_gicr_typer(typer_val) \ - (((((typer_val) >> 56) & MPIDR_AFFLVL_MASK) << MPIDR_AFF3_SHIFT) | \ - (((typer_val) >> 32) & 0xffffff)) +#define mpidr_from_gicr_typer(_typer_val) \ + (((((_typer_val) >> 56) & MPIDR_AFFLVL_MASK) << MPIDR_AFF3_SHIFT) | \ + (((_typer_val) >> 32) & 0xffffff)) #endif /******************************************************************************* diff --git a/drivers/arm/smmu/smmu_v3.c b/drivers/arm/smmu/smmu_v3.c index cfe8c2a473..7b017e3004 100644 --- a/drivers/arm/smmu/smmu_v3.c +++ b/drivers/arm/smmu/smmu_v3.c @@ -8,8 +8,8 @@ #include /* Test for pending invalidate */ -#define INVAL_PENDING(base) \ - smmuv3_read_s_init(base) & SMMU_S_INIT_INV_ALL_MASK +#define INVAL_PENDING(_base) \ + smmuv3_read_s_init(_base) & SMMU_S_INIT_INV_ALL_MASK static inline uint32_t smmuv3_read_s_idr1(uintptr_t base) { diff --git a/drivers/arm/tzc/tzc400.c b/drivers/arm/tzc/tzc400.c index 0999fa54a9..db4f88a9be 100644 --- a/drivers/arm/tzc/tzc400.c +++ b/drivers/arm/tzc/tzc400.c @@ -54,7 +54,7 @@ static inline void _tzc400_write_gate_keeper(uintptr_t base, unsigned int val) /* * Get the open status information for all filter units. */ -#define get_gate_keeper_os(base) ((_tzc400_read_gate_keeper(base) >> \ +#define get_gate_keeper_os(_base) ((_tzc400_read_gate_keeper(_base) >> \ GATE_KEEPER_OS_SHIFT) & \ GATE_KEEPER_OS_MASK) diff --git a/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h b/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h index a418d2dd66..808589ac31 100644 --- a/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h +++ b/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -66,7 +66,7 @@ * valid. Therefore, the caller is expected to check it is the case using the * CHECK_VIRT_ADDR_SPACE_SIZE() macro first. */ -#define GET_XLAT_TABLE_LEVEL_BASE(virt_addr_space_size) \ - (((virt_addr_space_size) > (ULL(1) << L1_XLAT_ADDRESS_SHIFT)) ? 1 : 2) +#define GET_XLAT_TABLE_LEVEL_BASE(_virt_addr_space_size) \ + (((_virt_addr_space_size) > (ULL(1) << L1_XLAT_ADDRESS_SHIFT)) ? 1 : 2) #endif /* __XLAT_TABLES_AARCH32_H__ */ diff --git a/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h b/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h index 6021e4070d..ad48a358ac 100644 --- a/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h +++ b/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -74,10 +74,10 @@ unsigned long long tcr_physical_addr_size_bits(unsigned long long max_addr); * valid. Therefore, the caller is expected to check it is the case using the * CHECK_VIRT_ADDR_SPACE_SIZE() macro first. */ -#define GET_XLAT_TABLE_LEVEL_BASE(virt_addr_space_size) \ - (((virt_addr_space_size) > (ULL(1) << L0_XLAT_ADDRESS_SHIFT)) \ +#define GET_XLAT_TABLE_LEVEL_BASE(_virt_addr_space_size) \ + (((_virt_addr_space_size) > (ULL(1) << L0_XLAT_ADDRESS_SHIFT)) \ ? 0 \ - : (((virt_addr_space_size) > (ULL(1) << L1_XLAT_ADDRESS_SHIFT)) \ + : (((_virt_addr_space_size) > (ULL(1) << L1_XLAT_ADDRESS_SHIFT)) \ ? 1 : 2)) #endif /* __XLAT_TABLES_AARCH64_H__ */ diff --git a/lib/locks/bakery/bakery_lock_coherent.c b/lib/locks/bakery/bakery_lock_coherent.c index a857e03557..788ba98184 100644 --- a/lib/locks/bakery/bakery_lock_coherent.c +++ b/lib/locks/bakery/bakery_lock_coherent.c @@ -34,9 +34,9 @@ * accesses regardless of status of address translation. */ -#define assert_bakery_entry_valid(entry, bakery) do { \ - assert(bakery); \ - assert(entry < BAKERY_LOCK_MAX_CPUS); \ +#define assert_bakery_entry_valid(_entry, _bakery) do { \ + assert(_bakery); \ + assert(_entry < BAKERY_LOCK_MAX_CPUS); \ } while (0) /* Obtain a ticket for a given CPU */ diff --git a/lib/psci/psci_private.h b/lib/psci/psci_private.h index c58f32969a..d452e2ae07 100644 --- a/lib/psci/psci_private.h +++ b/lib/psci/psci_private.h @@ -65,8 +65,8 @@ #endif -#define psci_lock_init(non_cpu_pd_node, idx) \ - ((non_cpu_pd_node)[(idx)].lock_index = (idx)) +#define psci_lock_init(_non_cpu_pd_node, _idx) \ + ((_non_cpu_pd_node)[(_idx)].lock_index = (_idx)) /* * The PSCI capability which are provided by the generic code but does not @@ -96,35 +96,35 @@ /* * Helper macros to get/set the fields of PSCI per-cpu data. */ -#define psci_set_aff_info_state(aff_state) \ - set_cpu_data(psci_svc_cpu_data.aff_info_state, aff_state) +#define psci_set_aff_info_state(_aff_state) \ + set_cpu_data(psci_svc_cpu_data.aff_info_state, _aff_state) #define psci_get_aff_info_state() \ get_cpu_data(psci_svc_cpu_data.aff_info_state) -#define psci_get_aff_info_state_by_idx(idx) \ - get_cpu_data_by_index(idx, psci_svc_cpu_data.aff_info_state) -#define psci_set_aff_info_state_by_idx(idx, aff_state) \ - set_cpu_data_by_index(idx, psci_svc_cpu_data.aff_info_state,\ - aff_state) +#define psci_get_aff_info_state_by_idx(_idx) \ + get_cpu_data_by_index(_idx, psci_svc_cpu_data.aff_info_state) +#define psci_set_aff_info_state_by_idx(_idx, _aff_state) \ + set_cpu_data_by_index(_idx, psci_svc_cpu_data.aff_info_state,\ + _aff_state) #define psci_get_suspend_pwrlvl() \ get_cpu_data(psci_svc_cpu_data.target_pwrlvl) -#define psci_set_suspend_pwrlvl(target_lvl) \ - set_cpu_data(psci_svc_cpu_data.target_pwrlvl, target_lvl) -#define psci_set_cpu_local_state(state) \ - set_cpu_data(psci_svc_cpu_data.local_state, state) +#define psci_set_suspend_pwrlvl(_target_lvl) \ + set_cpu_data(psci_svc_cpu_data.target_pwrlvl, _target_lvl) +#define psci_set_cpu_local_state(_state) \ + set_cpu_data(psci_svc_cpu_data.local_state, _state) #define psci_get_cpu_local_state() \ get_cpu_data(psci_svc_cpu_data.local_state) -#define psci_get_cpu_local_state_by_idx(idx) \ - get_cpu_data_by_index(idx, psci_svc_cpu_data.local_state) +#define psci_get_cpu_local_state_by_idx(_idx) \ + get_cpu_data_by_index(_idx, psci_svc_cpu_data.local_state) /* * Helper macros for the CPU level spinlocks */ -#define psci_spin_lock_cpu(idx) spin_lock(&psci_cpu_pd_nodes[idx].cpu_lock) -#define psci_spin_unlock_cpu(idx) spin_unlock(&psci_cpu_pd_nodes[idx].cpu_lock) +#define psci_spin_lock_cpu(_idx) spin_lock(&psci_cpu_pd_nodes[_idx].cpu_lock) +#define psci_spin_unlock_cpu(_idx) spin_unlock(&psci_cpu_pd_nodes[_idx].cpu_lock) /* Helper macro to identify a CPU standby request in PSCI Suspend call */ -#define is_cpu_standby_req(is_power_down_state, retn_lvl) \ - (((!(is_power_down_state)) && ((retn_lvl) == 0)) ? 1 : 0) +#define is_cpu_standby_req(_is_power_down_state, _retn_lvl) \ + (((!(_is_power_down_state)) && ((_retn_lvl) == 0)) ? 1 : 0) /******************************************************************************* * The following two data structures implement the power domain tree. The tree From 7c934242e3652c4d43f1ce31187d804f627ab8a9 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Wed, 9 May 2018 10:28:12 +0100 Subject: [PATCH 4/9] Fix MISRA Rule 5.3 Part 3 Use a _ prefix for macro arguments to prevent that argument from hiding variables of the same name in the outer scope Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope Fixed For: make PLAT=fvp SPD=tspd Change-Id: I2d711b9584c4cb9ba3814ecd2ca65a42b7e24179 Signed-off-by: Daniel Boulby --- services/spd/tspd/tspd_private.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/services/spd/tspd/tspd_private.h b/services/spd/tspd/tspd_private.h index 692a967e3f..080e757f49 100644 --- a/services/spd/tspd/tspd_private.h +++ b/services/spd/tspd/tspd_private.h @@ -190,14 +190,14 @@ typedef struct tsp_context { } tsp_context_t; /* Helper macros to store and retrieve tsp args from tsp_context */ -#define store_tsp_args(tsp_ctx, x1, x2) do {\ - tsp_ctx->saved_tsp_args[0] = x1;\ - tsp_ctx->saved_tsp_args[1] = x2;\ +#define store_tsp_args(_tsp_ctx, _x1, _x2) do {\ + _tsp_ctx->saved_tsp_args[0] = _x1;\ + _tsp_ctx->saved_tsp_args[1] = _x2;\ } while (0) -#define get_tsp_args(tsp_ctx, x1, x2) do {\ - x1 = tsp_ctx->saved_tsp_args[0];\ - x2 = tsp_ctx->saved_tsp_args[1];\ +#define get_tsp_args(_tsp_ctx, _x1, _x2) do {\ + _x1 = _tsp_ctx->saved_tsp_args[0];\ + _x2 = _tsp_ctx->saved_tsp_args[1];\ } while (0) /* TSPD power management handlers */ From 7cb81945d5007925c59f68150ede7a20dba41e6c Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Wed, 9 May 2018 11:29:07 +0100 Subject: [PATCH 5/9] Fix MISRA Rule 5.3 Part 4 Use a _ prefix for macro arguments to prevent that argument from hiding variables of the same name in the outer scope Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope Fixed For: make PLAT=fvp USE_COHERENT_MEM=0 Change-Id: If50c583d3b63799ee6852626b15be00c0f6b10a0 Signed-off-by: Daniel Boulby --- lib/locks/bakery/bakery_lock_normal.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/locks/bakery/bakery_lock_normal.c b/lib/locks/bakery/bakery_lock_normal.c index 37697f521a..630226ae2d 100644 --- a/lib/locks/bakery/bakery_lock_normal.c +++ b/lib/locks/bakery/bakery_lock_normal.c @@ -53,18 +53,18 @@ CASSERT((PLAT_PERCPU_BAKERY_LOCK_SIZE & (CACHE_WRITEBACK_GRANULE - 1)) == 0, \ IMPORT_SYM(uintptr_t, __PERCPU_BAKERY_LOCK_SIZE__, PERCPU_BAKERY_LOCK_SIZE); #endif -#define get_bakery_info(cpu_ix, lock) \ - (bakery_info_t *)((uintptr_t)lock + cpu_ix * PERCPU_BAKERY_LOCK_SIZE) +#define get_bakery_info(_cpu_ix, _lock) \ + (bakery_info_t *)((uintptr_t)_lock + _cpu_ix * PERCPU_BAKERY_LOCK_SIZE) -#define write_cache_op(addr, cached) \ +#define write_cache_op(_addr, _cached) \ do { \ - (cached ? dccvac((uintptr_t)addr) :\ - dcivac((uintptr_t)addr));\ + (_cached ? dccvac((uintptr_t)_addr) :\ + dcivac((uintptr_t)_addr));\ dsbish();\ } while (0) -#define read_cache_op(addr, cached) if (cached) \ - dccivac((uintptr_t)addr) +#define read_cache_op(_addr, _cached) if (_cached) \ + dccivac((uintptr_t)_addr) /* Helper function to check if the lock is acquired */ static inline int is_lock_acquired(const bakery_info_t *my_bakery_info, From ff4e86f90e885ccfca1b51a88c23b47130af9292 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Wed, 9 May 2018 12:21:46 +0100 Subject: [PATCH 6/9] Fix MISRA Rule 5.3 Part 5 Use a _ prefix for macro arguments to prevent that argument from hiding variables of the same name in the outer scope Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope Fixed For: make LOG_LEVEL=50 PLAT=juno Change-Id: I575fbc96e8267f2b075e88def1f6e3185394613a Signed-off-by: Daniel Boulby --- plat/arm/css/drivers/scmi/scmi_private.h | 12 ++++++------ plat/arm/css/drivers/scp/css_pm_scmi.c | 18 +++++++++--------- plat/arm/css/drivers/sds/sds_private.h | 20 ++++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/plat/arm/css/drivers/scmi/scmi_private.h b/plat/arm/css/drivers/scmi/scmi_private.h index a07841ee39..67fe7481ff 100644 --- a/plat/arm/css/drivers/scmi/scmi_private.h +++ b/plat/arm/css/drivers/scmi/scmi_private.h @@ -60,14 +60,14 @@ * Helper macro to create an SCMI message header given protocol, message id * and token. */ -#define SCMI_MSG_CREATE(protocol, msg_id, token) \ - ((((protocol) & SCMI_MSG_PROTO_ID_MASK) << SCMI_MSG_PROTO_ID_SHIFT) | \ - (((msg_id) & SCMI_MSG_ID_MASK) << SCMI_MSG_ID_SHIFT) | \ - (((token) & SCMI_MSG_TOKEN_MASK) << SCMI_MSG_TOKEN_SHIFT)) +#define SCMI_MSG_CREATE(_protocol, _msg_id, _token) \ + ((((_protocol) & SCMI_MSG_PROTO_ID_MASK) << SCMI_MSG_PROTO_ID_SHIFT) | \ + (((_msg_id) & SCMI_MSG_ID_MASK) << SCMI_MSG_ID_SHIFT) | \ + (((_token) & SCMI_MSG_TOKEN_MASK) << SCMI_MSG_TOKEN_SHIFT)) /* Helper macro to get the token from a SCMI message header */ -#define SCMI_MSG_GET_TOKEN(msg) \ - (((msg) >> SCMI_MSG_TOKEN_SHIFT) & SCMI_MSG_TOKEN_MASK) +#define SCMI_MSG_GET_TOKEN(_msg) \ + (((_msg) >> SCMI_MSG_TOKEN_SHIFT) & SCMI_MSG_TOKEN_MASK) /* SCMI Channel Status bit fields */ #define SCMI_CH_STATUS_RES0_MASK 0xFFFFFFFE diff --git a/plat/arm/css/drivers/scp/css_pm_scmi.c b/plat/arm/css/drivers/scp/css_pm_scmi.c index c0ed487498..e484c60113 100644 --- a/plat/arm/css/drivers/scp/css_pm_scmi.c +++ b/plat/arm/css/drivers/scp/css_pm_scmi.c @@ -36,21 +36,21 @@ #define SCMI_PWR_STATE_MAX_PWR_LVL_WIDTH 4 #define SCMI_PWR_STATE_MAX_PWR_LVL_MASK \ ((1 << SCMI_PWR_STATE_MAX_PWR_LVL_WIDTH) - 1) -#define SCMI_SET_PWR_STATE_MAX_PWR_LVL(pwr_state, max_lvl) \ - (pwr_state) |= ((max_lvl) & SCMI_PWR_STATE_MAX_PWR_LVL_MASK) \ +#define SCMI_SET_PWR_STATE_MAX_PWR_LVL(_power_state, _max_level) \ + (_power_state) |= ((_max_level) & SCMI_PWR_STATE_MAX_PWR_LVL_MASK)\ << SCMI_PWR_STATE_MAX_PWR_LVL_SHIFT -#define SCMI_GET_PWR_STATE_MAX_PWR_LVL(pwr_state) \ - (((pwr_state) >> SCMI_PWR_STATE_MAX_PWR_LVL_SHIFT) \ +#define SCMI_GET_PWR_STATE_MAX_PWR_LVL(_power_state) \ + (((_power_state) >> SCMI_PWR_STATE_MAX_PWR_LVL_SHIFT) \ & SCMI_PWR_STATE_MAX_PWR_LVL_MASK) #define SCMI_PWR_STATE_LVL_WIDTH 4 #define SCMI_PWR_STATE_LVL_MASK \ ((1 << SCMI_PWR_STATE_LVL_WIDTH) - 1) -#define SCMI_SET_PWR_STATE_LVL(pwr_state, lvl, lvl_state) \ - (pwr_state) |= ((lvl_state) & SCMI_PWR_STATE_LVL_MASK) \ - << (SCMI_PWR_STATE_LVL_WIDTH * (lvl)) -#define SCMI_GET_PWR_STATE_LVL(pwr_state, lvl) \ - (((pwr_state) >> (SCMI_PWR_STATE_LVL_WIDTH * (lvl))) & \ +#define SCMI_SET_PWR_STATE_LVL(_power_state, _level, _level_state) \ + (_power_state) |= ((_level_state) & SCMI_PWR_STATE_LVL_MASK) \ + << (SCMI_PWR_STATE_LVL_WIDTH * (_level)) +#define SCMI_GET_PWR_STATE_LVL(_power_state, _level) \ + (((_power_state) >> (SCMI_PWR_STATE_LVL_WIDTH * (_level))) & \ SCMI_PWR_STATE_LVL_MASK) /* diff --git a/plat/arm/css/drivers/sds/sds_private.h b/plat/arm/css/drivers/sds/sds_private.h index 649576b6d1..43b97f6810 100644 --- a/plat/arm/css/drivers/sds/sds_private.h +++ b/plat/arm/css/drivers/sds/sds_private.h @@ -67,18 +67,18 @@ typedef struct structure_header { uint32_t reg[2]; } struct_header_t; -#define GET_SDS_HEADER_ID(header) \ - ((((struct_header_t *)(header))->reg[0]) & SDS_HEADER_ID_MASK) -#define GET_SDS_HEADER_VERSION(header) \ - (((((struct_header_t *)(header))->reg[0]) >> SDS_HEADER_MINOR_VERSION_SHIFT)\ +#define GET_SDS_HEADER_ID(_header) \ + ((((struct_header_t *)(_header))->reg[0]) & SDS_HEADER_ID_MASK) +#define GET_SDS_HEADER_VERSION(_header) \ + (((((struct_header_t *)(_header))->reg[0]) >> SDS_HEADER_MINOR_VERSION_SHIFT)\ & SDS_HEADER_VERSION_MASK) -#define GET_SDS_HEADER_STRUCT_SIZE(header) \ - (((((struct_header_t *)(header))->reg[1]) >> SDS_HEADER_STRUCT_SIZE_SHIFT)\ +#define GET_SDS_HEADER_STRUCT_SIZE(_header) \ + (((((struct_header_t *)(_header))->reg[1]) >> SDS_HEADER_STRUCT_SIZE_SHIFT)\ & SDS_HEADER_STRUCT_SIZE_MASK) -#define IS_SDS_HEADER_VALID(header) \ - ((((struct_header_t *)(header))->reg[1]) & SDS_HEADER_VALID_MASK) -#define GET_SDS_STRUCT_FIELD(header, field_offset) \ - ((((uint8_t *)(header)) + sizeof(struct_header_t)) + (field_offset)) +#define IS_SDS_HEADER_VALID(_header) \ + ((((struct_header_t *)(_header))->reg[1]) & SDS_HEADER_VALID_MASK) +#define GET_SDS_STRUCT_FIELD(_header, _field_offset) \ + ((((uint8_t *)(_header)) + sizeof(struct_header_t)) + (_field_offset)) /* Region Descriptor describing the SDS Memory Region */ typedef struct region_descriptor { From 40692923882928ce52b61bfae1e5507b0076f105 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Thu, 3 May 2018 10:59:09 +0100 Subject: [PATCH 7/9] Fix MISRA Rule 5.7 Part 1 Rule 5.7: A tag name shall be a unique identifier There were 2 amu_ctx struct type definitions: - In lib/extensions/amu/aarch64/amu.c - In lib/cpus/aarch64/cpuamu.c Renamed the latter to cpuamu_ctx to avoid this name clash To avoid violation of Rule 8.3 also change name of function amu_ctxs to unique name (cpuamu_ctxs) since it now returns a different type (cpuamu_ctx) than the other amu_ctxs function Fixed for: make LOG_LEVEL=50 PLAT=fvp Change-Id: Ieeb7e390ec2900fd8b775bef312eda93804a43ed Signed-off-by: Daniel Boulby --- lib/cpus/aarch64/cpuamu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/cpus/aarch64/cpuamu.c b/lib/cpus/aarch64/cpuamu.c index b9bad86046..5ad5bf8392 100644 --- a/lib/cpus/aarch64/cpuamu.c +++ b/lib/cpus/aarch64/cpuamu.c @@ -10,12 +10,12 @@ #define CPUAMU_NR_COUNTERS 5U -struct amu_ctx { +struct cpuamu_ctx { uint64_t cnts[CPUAMU_NR_COUNTERS]; unsigned int mask; }; -static struct amu_ctx amu_ctxs[PLATFORM_CORE_COUNT]; +static struct cpuamu_ctx cpuamu_ctxs[PLATFORM_CORE_COUNT]; int midr_match(unsigned int cpu_midr) { @@ -29,7 +29,7 @@ int midr_match(unsigned int cpu_midr) void cpuamu_context_save(unsigned int nr_counters) { - struct amu_ctx *ctx = &amu_ctxs[plat_my_core_pos()]; + struct cpuamu_ctx *ctx = &cpuamu_ctxs[plat_my_core_pos()]; unsigned int i; assert(nr_counters <= CPUAMU_NR_COUNTERS); @@ -48,7 +48,7 @@ void cpuamu_context_save(unsigned int nr_counters) void cpuamu_context_restore(unsigned int nr_counters) { - struct amu_ctx *ctx = &amu_ctxs[plat_my_core_pos()]; + struct cpuamu_ctx *ctx = &cpuamu_ctxs[plat_my_core_pos()]; unsigned int i; assert(nr_counters <= CPUAMU_NR_COUNTERS); From a138f7687159685175ee8f249dbe7ea1c22e90e1 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Mon, 14 May 2018 17:18:58 +0100 Subject: [PATCH 8/9] Fix MISRA Rule 5.7 Part 2 Follow convention of shorter names for smaller scope to fix violations of MISRA rule 5.7 To prevent violation of directive 4.5 having variable name channel in css_pm_scmi.c not being typographically ambiguous change macro argument CHANNEL in css_mhu_doorbell.h change argument to _channel to fit with our convention which is a permitted exception of directive 4.5 for this project Rule 5.7: A tag name shall be a unique identifier Fixed for: make LOG_LEVEL=50 PLAT=juno Change-Id: I147cdb13553e83ed7df19149b282706db115d612 Signed-off-by: Daniel Boulby --- plat/arm/css/drivers/mhu/css_mhu_doorbell.h | 4 ++-- plat/arm/css/drivers/scp/css_pm_scmi.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plat/arm/css/drivers/mhu/css_mhu_doorbell.h b/plat/arm/css/drivers/mhu/css_mhu_doorbell.h index 3c94536881..cb75ed050a 100644 --- a/plat/arm/css/drivers/mhu/css_mhu_doorbell.h +++ b/plat/arm/css/drivers/mhu/css_mhu_doorbell.h @@ -18,8 +18,8 @@ #define MHU_V2_ACCESS_REQ_OFFSET 0xF88 #define MHU_V2_ACCESS_READY_OFFSET 0xF8C -#define SENDER_REG_STAT(CHANNEL) (0x20 * (CHANNEL)) -#define SENDER_REG_SET(CHANNEL) (0x20 * (CHANNEL)) + 0xC +#define SENDER_REG_STAT(_channel) (0x20 * (_channel)) +#define SENDER_REG_SET(_channel) ((0x20 * (_channel)) + 0xC) /* Helper macro to ring doorbell */ #define MHU_RING_DOORBELL(addr, modify_mask, preserve_mask) do { \ diff --git a/plat/arm/css/drivers/scp/css_pm_scmi.c b/plat/arm/css/drivers/scp/css_pm_scmi.c index e484c60113..3a255096e8 100644 --- a/plat/arm/css/drivers/scp/css_pm_scmi.c +++ b/plat/arm/css/drivers/scp/css_pm_scmi.c @@ -69,7 +69,7 @@ typedef enum { static void *scmi_handle; /* The SCMI channel global object */ -static scmi_channel_t scmi_channel; +static scmi_channel_t channel; ARM_INSTANTIATE_LOCK; @@ -308,9 +308,9 @@ scmi_channel_plat_info_t plat_css_scmi_plat_info = { void plat_arm_pwrc_setup(void) { - scmi_channel.info = &plat_css_scmi_plat_info; - scmi_channel.lock = ARM_LOCK_GET_INSTANCE; - scmi_handle = scmi_init(&scmi_channel); + channel.info = &plat_css_scmi_plat_info; + channel.lock = ARM_LOCK_GET_INSTANCE; + scmi_handle = scmi_init(&channel); if (scmi_handle == NULL) { ERROR("SCMI Initialization failed\n"); panic(); From 776ff52a8daa0eb35870638de536951e0d256a84 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Tue, 15 May 2018 11:41:55 +0100 Subject: [PATCH 9/9] Fix MISRA Rule 5.7 Part 3 Rule 5.7: A tag name shall be a unique identifier Follow convention of shorter names for smaller scope to fix violations of MISRA rule 5.7 Fixed For: make ARM_TSP_RAM_LOCATION=tdram LOG_LEVEL=50 PLAT=fvp SPD=opteed Change-Id: I5fbb5d6ebddf169550eddb07ed880f5c8076bb76 Signed-off-by: Daniel Boulby --- lib/optee/optee_utils.c | 48 ++++++++++++++-------------- services/spd/opteed/opteed_main.c | 14 ++++---- services/spd/opteed/opteed_pm.c | 24 +++++++------- services/spd/opteed/opteed_private.h | 2 +- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/lib/optee/optee_utils.c b/lib/optee/optee_utils.c index ac51265ed4..ecf7cc0576 100644 --- a/lib/optee/optee_utils.c +++ b/lib/optee/optee_utils.c @@ -43,7 +43,7 @@ typedef struct optee_header { uint8_t arch; uint16_t flags; uint32_t nb_images; - optee_image_t optee_image[]; + optee_image_t optee_image_list[]; } optee_header_t; /******************************************************************************* @@ -51,11 +51,11 @@ typedef struct optee_header { * Return 1 if valid * Return 0 if invalid ******************************************************************************/ -static inline int tee_validate_header(optee_header_t *optee_header) +static inline int tee_validate_header(optee_header_t *header) { - if ((optee_header->magic == TEE_MAGIC_NUM_OPTEE) && - (optee_header->version == 2) && - (optee_header->nb_images <= OPTEE_MAX_IMAGE_NUM)) { + if ((header->magic == TEE_MAGIC_NUM_OPTEE) && + (header->version == 2) && + (header->nb_images <= OPTEE_MAX_IMAGE_NUM)) { return 1; } @@ -68,14 +68,14 @@ static inline int tee_validate_header(optee_header_t *optee_header) * Return 0 on success or a negative error code otherwise. ******************************************************************************/ static int parse_optee_image(image_info_t *image_info, - optee_image_t *optee_image) + optee_image_t *image) { uintptr_t init_load_addr, free_end, requested_end; size_t init_size; - init_load_addr = ((uint64_t)optee_image->load_addr_hi << 32) | - optee_image->load_addr_lo; - init_size = optee_image->size; + init_load_addr = ((uint64_t)image->load_addr_hi << 32) | + image->load_addr_lo; + init_size = image->size; /* * -1 indicates loader decided address; take our pre-mapped area @@ -133,21 +133,21 @@ int parse_optee_header(entry_point_info_t *header_ep, image_info_t *paged_image_info) { - optee_header_t *optee_header; + optee_header_t *header; int num, ret; assert(header_ep); - optee_header = (optee_header_t *)header_ep->pc; - assert(optee_header); + header = (optee_header_t *)header_ep->pc; + assert(header); /* Print the OPTEE header information */ INFO("OPTEE ep=0x%x\n", (unsigned int)header_ep->pc); INFO("OPTEE header info:\n"); - INFO(" magic=0x%x\n", optee_header->magic); - INFO(" version=0x%x\n", optee_header->version); - INFO(" arch=0x%x\n", optee_header->arch); - INFO(" flags=0x%x\n", optee_header->flags); - INFO(" nb_images=0x%x\n", optee_header->nb_images); + INFO(" magic=0x%x\n", header->magic); + INFO(" version=0x%x\n", header->version); + INFO(" arch=0x%x\n", header->arch); + INFO(" flags=0x%x\n", header->flags); + INFO(" nb_images=0x%x\n", header->nb_images); /* * OPTEE image has 3 types: @@ -166,7 +166,7 @@ int parse_optee_header(entry_point_info_t *header_ep, * pager and pageable. Remove skip attr for BL32_EXTRA1_IMAGE_ID * and BL32_EXTRA2_IMAGE_ID to load pager and paged bin. */ - if (!tee_validate_header(optee_header)) { + if (!tee_validate_header(header)) { INFO("Invalid OPTEE header, set legacy mode.\n"); #ifdef AARCH64 header_ep->args.arg0 = MODE_RW_64; @@ -177,15 +177,15 @@ int parse_optee_header(entry_point_info_t *header_ep, } /* Parse OPTEE image */ - for (num = 0; num < optee_header->nb_images; num++) { - if (optee_header->optee_image[num].image_id == + for (num = 0; num < header->nb_images; num++) { + if (header->optee_image_list[num].image_id == OPTEE_PAGER_IMAGE_ID) { ret = parse_optee_image(pager_image_info, - &optee_header->optee_image[num]); - } else if (optee_header->optee_image[num].image_id == + &header->optee_image_list[num]); + } else if (header->optee_image_list[num].image_id == OPTEE_PAGED_IMAGE_ID) { ret = parse_optee_image(paged_image_info, - &optee_header->optee_image[num]); + &header->optee_image_list[num]); } else { ERROR("Parse optee image failed.\n"); return -1; @@ -211,7 +211,7 @@ int parse_optee_header(entry_point_info_t *header_ep, header_ep->args.arg2 = paged_image_info->image_size; /* Set OPTEE runtime arch - aarch32/aarch64 */ - if (optee_header->arch == 0) { + if (header->arch == 0) { header_ep->args.arg0 = MODE_RW_32; } else { #ifdef AARCH64 diff --git a/services/spd/opteed/opteed_main.c b/services/spd/opteed/opteed_main.c index ac58e047c9..01ec2a26d1 100644 --- a/services/spd/opteed/opteed_main.c +++ b/services/spd/opteed/opteed_main.c @@ -34,7 +34,7 @@ * Address of the entrypoint vector table in OPTEE. It is * initialised once on the primary core after a cold boot. ******************************************************************************/ -optee_vectors_t *optee_vectors; +optee_vectors_t *optee_vector_table; /******************************************************************************* * Array to keep track of per-cpu OPTEE state @@ -71,7 +71,7 @@ static uint64_t opteed_sel1_interrupt_handler(uint32_t id, optee_ctx = &opteed_sp_context[linear_id]; assert(&optee_ctx->cpu_ctx == cm_get_context(SECURE)); - cm_set_elr_el3(SECURE, (uint64_t)&optee_vectors->fiq_entry); + cm_set_elr_el3(SECURE, (uint64_t)&optee_vector_table->fiq_entry); cm_el1_sysregs_context_restore(SECURE); cm_set_next_eret_context(SECURE); @@ -236,10 +236,10 @@ static uintptr_t opteed_smc_handler(uint32_t smc_fid, */ if (GET_SMC_TYPE(smc_fid) == SMC_TYPE_FAST) { cm_set_elr_el3(SECURE, (uint64_t) - &optee_vectors->fast_smc_entry); + &optee_vector_table->fast_smc_entry); } else { cm_set_elr_el3(SECURE, (uint64_t) - &optee_vectors->yield_smc_entry); + &optee_vector_table->yield_smc_entry); } cm_el1_sysregs_context_restore(SECURE); @@ -279,10 +279,10 @@ static uintptr_t opteed_smc_handler(uint32_t smc_fid, * Stash the OPTEE entry points information. This is done * only once on the primary cpu */ - assert(optee_vectors == NULL); - optee_vectors = (optee_vectors_t *) x1; + assert(optee_vector_table == NULL); + optee_vector_table = (optee_vectors_t *) x1; - if (optee_vectors) { + if (optee_vector_table) { set_optee_pstate(optee_ctx->state, OPTEE_PSTATE_ON); /* diff --git a/services/spd/opteed/opteed_pm.c b/services/spd/opteed/opteed_pm.c index 7efc234b29..bdacf98645 100644 --- a/services/spd/opteed/opteed_pm.c +++ b/services/spd/opteed/opteed_pm.c @@ -30,11 +30,11 @@ static int32_t opteed_cpu_off_handler(u_register_t unused) uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point and enter OPTEE */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_off_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_off_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -63,11 +63,11 @@ static void opteed_cpu_suspend_handler(u_register_t max_off_pwrlvl) uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point and enter OPTEE */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_suspend_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_suspend_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -94,11 +94,11 @@ static void opteed_cpu_on_finish_handler(u_register_t unused) optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; entry_point_info_t optee_on_entrypoint; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_OFF); opteed_init_optee_ep_state(&optee_on_entrypoint, opteed_rw, - (uint64_t)&optee_vectors->cpu_on_entry, + (uint64_t)&optee_vector_table->cpu_on_entry, 0, 0, 0, optee_ctx); /* Initialise this cpu's secure context */ @@ -129,14 +129,14 @@ static void opteed_cpu_suspend_finish_handler(u_register_t max_off_pwrlvl) uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_SUSPEND); /* Program the entry point, max_off_pwrlvl and enter the SP */ write_ctx_reg(get_gpregs_ctx(&optee_ctx->cpu_ctx), CTX_GPREG_X0, max_off_pwrlvl); - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->cpu_resume_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_resume_entry); rc = opteed_synchronous_sp_entry(optee_ctx); /* @@ -168,11 +168,11 @@ static void opteed_system_off(void) uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->system_off_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->system_off_entry); /* Enter OPTEE. We do not care about the return value because we * must continue the shutdown anyway */ @@ -188,11 +188,11 @@ static void opteed_system_reset(void) uint32_t linear_id = plat_my_core_pos(); optee_context_t *optee_ctx = &opteed_sp_context[linear_id]; - assert(optee_vectors); + assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); /* Program the entry point */ - cm_set_elr_el3(SECURE, (uint64_t) &optee_vectors->system_reset_entry); + cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->system_reset_entry); /* Enter OPTEE. We do not care about the return value because we * must continue the reset anyway */ diff --git a/services/spd/opteed/opteed_private.h b/services/spd/opteed/opteed_private.h index 6cda2c8e98..b77b6d3421 100644 --- a/services/spd/opteed/opteed_private.h +++ b/services/spd/opteed/opteed_private.h @@ -154,7 +154,7 @@ void opteed_init_optee_ep_state(struct entry_point_info *optee_ep, extern optee_context_t opteed_sp_context[OPTEED_CORE_COUNT]; extern uint32_t opteed_rw; -extern struct optee_vectors *optee_vectors; +extern struct optee_vectors *optee_vector_table; #endif /*__ASSEMBLY__*/ #endif /* __OPTEED_PRIVATE_H__ */