diff options
author | davidcunado-arm <david.cunado@arm.com> | 2018-02-28 18:53:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-28 18:53:30 +0000 |
commit | 73a9605197ba04aaf02d436a2a4ad56e695b426c (patch) | |
tree | 5beb6774d0dabeffdfb6dc3753e9eb4ac2f62754 /include | |
parent | fd50c18adbdb5b7c4cfd1f4661e905b56a7676fe (diff) | |
parent | fd116b9f6c26d7fd49c7aa0cdbfb3d93871daec3 (diff) |
Merge pull request #1282 from robertovargas-arm/misra-changes
Misra changes
Diffstat (limited to 'include')
-rw-r--r-- | include/bl1/bl1.h | 21 | ||||
-rw-r--r-- | include/bl2/bl2.h | 15 | ||||
-rw-r--r-- | include/bl2u/bl2u.h | 12 | ||||
-rw-r--r-- | include/bl31/bl31.h | 8 | ||||
-rw-r--r-- | include/bl31/interrupt_mgmt.h | 2 | ||||
-rw-r--r-- | include/common/bl_common.h | 4 | ||||
-rw-r--r-- | include/common/desc_image_load.h | 5 | ||||
-rw-r--r-- | include/common/runtime_svc.h | 4 | ||||
-rw-r--r-- | include/drivers/arm/gicv3.h | 4 | ||||
-rw-r--r-- | include/drivers/arm/tzc400.h | 4 | ||||
-rw-r--r-- | include/drivers/delay_timer.h | 4 | ||||
-rw-r--r-- | include/drivers/io/io_storage.h | 2 | ||||
-rw-r--r-- | include/lib/cpus/errata_report.h | 5 | ||||
-rw-r--r-- | include/lib/el3_runtime/cpu_data.h | 4 | ||||
-rw-r--r-- | include/lib/el3_runtime/pubsub.h | 7 | ||||
-rw-r--r-- | include/lib/pmf/pmf.h | 4 | ||||
-rw-r--r-- | include/lib/pmf/pmf_helpers.h | 19 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 6 | ||||
-rw-r--r-- | include/plat/arm/css/common/css_pm.h | 8 | ||||
-rw-r--r-- | include/plat/common/platform.h | 6 |
20 files changed, 118 insertions, 26 deletions
diff --git a/include/bl1/bl1.h b/include/bl1/bl1.h index b0421007..dd03de05 100644 --- a/include/bl1/bl1.h +++ b/include/bl1/bl1.h @@ -64,6 +64,27 @@ #ifndef __ASSEMBLY__ #include <cassert.h> +struct entry_point_info; + +register_t bl1_smc_wrapper(uint32_t smc_fid, + void *cookie, + void *handle, + unsigned int flags); + +register_t bl1_smc_handler(unsigned int smc_fid, + register_t x1, + register_t x2, + register_t x3, + register_t x4, + void *cookie, + void *handle, + unsigned int flags); + +void bl1_print_next_bl_ep_info(const struct entry_point_info *bl_ep_info); + +void bl1_main(void); +void bl1_plat_prepare_exit(entry_point_info_t *ep_info); + /* * Check if the total number of FWU SMC calls are as expected. */ diff --git a/include/bl2/bl2.h b/include/bl2/bl2.h new file mode 100644 index 00000000..f2bd07ef --- /dev/null +++ b/include/bl2/bl2.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef BL2_H__ +#define BL2_H__ + +struct entry_point_info; + +void bl2_main(void); +struct entry_point_info *bl2_load_images(void); + +#endif /* BL2_H__ */ diff --git a/include/bl2u/bl2u.h b/include/bl2u/bl2u.h new file mode 100644 index 00000000..7017b3ac --- /dev/null +++ b/include/bl2u/bl2u.h @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef BL2_H__ +#define BL2_H__ + +void bl2u_main(void); + +#endif /* BL2_H__ */ diff --git a/include/bl31/bl31.h b/include/bl31/bl31.h index b3567e2e..7c35922c 100644 --- a/include/bl31/bl31.h +++ b/include/bl31/bl31.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -13,10 +13,12 @@ * Function prototypes ******************************************************************************/ void bl31_next_el_arch_setup(uint32_t security_state); -void bl31_set_next_image_type(uint32_t type); +void bl31_set_next_image_type(uint32_t security_state); uint32_t bl31_get_next_image_type(void); void bl31_prepare_next_image_entry(void); -void bl31_register_bl32_init(int32_t (*)(void)); +void bl31_register_bl32_init(int32_t (*func)(void)); void bl31_warm_entrypoint(void); +void bl31_main(void); +void bl31_lib_init(void); #endif /* __BL31_H__ */ diff --git a/include/bl31/interrupt_mgmt.h b/include/bl31/interrupt_mgmt.h index d41edd09..905dcd66 100644 --- a/include/bl31/interrupt_mgmt.h +++ b/include/bl31/interrupt_mgmt.h @@ -124,7 +124,7 @@ int32_t set_routing_model(uint32_t type, uint32_t flags); int32_t register_interrupt_type_handler(uint32_t type, interrupt_type_handler_t handler, uint32_t flags); -interrupt_type_handler_t get_interrupt_type_handler(uint32_t interrupt_type); +interrupt_type_handler_t get_interrupt_type_handler(uint32_t type); int disable_intr_rm_local(uint32_t type, uint32_t security_state); int enable_intr_rm_local(uint32_t type, uint32_t security_state); diff --git a/include/common/bl_common.h b/include/common/bl_common.h index 6a249f5b..4ef916f5 100644 --- a/include/common/bl_common.h +++ b/include/common/bl_common.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -210,7 +210,6 @@ int load_auth_image(unsigned int image_id, image_info_t *image_data); #else -uintptr_t page_align(uintptr_t, unsigned); int load_image(meminfo_t *mem_layout, unsigned int image_id, uintptr_t image_base, @@ -230,6 +229,7 @@ extern const char build_message[]; extern const char version_string[]; void print_entry_point_info(const entry_point_info_t *ep_info); +uintptr_t page_align(uintptr_t value, unsigned dir); #endif /*__ASSEMBLY__*/ diff --git a/include/common/desc_image_load.h b/include/common/desc_image_load.h index f183db50..73aa27cc 100644 --- a/include/common/desc_image_load.h +++ b/include/common/desc_image_load.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -19,6 +19,9 @@ typedef struct bl_mem_params_node { bl_params_node_t params_node_mem; } bl_mem_params_node_t; +extern bl_mem_params_node_t *bl_mem_params_desc_ptr; +extern unsigned int bl_mem_params_desc_num; + /* * Macro to register list of BL image descriptors, * defined as an array of bl_mem_params_node_t. diff --git a/include/common/runtime_svc.h b/include/common/runtime_svc.h index e179e4ba..6150b322 100644 --- a/include/common/runtime_svc.h +++ b/include/common/runtime_svc.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -126,5 +126,7 @@ extern uintptr_t __RT_SVC_DESCS_START__; extern uintptr_t __RT_SVC_DESCS_END__; void init_crash_reporting(void); +extern uint8_t rt_svc_descs_indices[MAX_RT_SVCS]; + #endif /*__ASSEMBLY__*/ #endif /* __RUNTIME_SVC_H__ */ diff --git a/include/drivers/arm/gicv3.h b/include/drivers/arm/gicv3.h index f2a53712..5f265c6e 100644 --- a/include/drivers/arm/gicv3.h +++ b/include/drivers/arm/gicv3.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -402,7 +402,7 @@ void gicv3_disable_interrupt(unsigned int id, unsigned int proc_num); void gicv3_set_interrupt_priority(unsigned int id, unsigned int proc_num, unsigned int priority); void gicv3_set_interrupt_type(unsigned int id, unsigned int proc_num, - unsigned int group); + unsigned int type); void gicv3_raise_secure_g0_sgi(int sgi_num, u_register_t target); void gicv3_set_spi_routing(unsigned int id, unsigned int irm, u_register_t mpidr); diff --git a/include/drivers/arm/tzc400.h b/include/drivers/arm/tzc400.h index 038a3baa..7f354f82 100644 --- a/include/drivers/arm/tzc400.h +++ b/include/drivers/arm/tzc400.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2014-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -118,7 +118,7 @@ void tzc400_configure_region(unsigned int filters, unsigned long long region_base, unsigned long long region_top, tzc_region_attributes_t sec_attr, - unsigned int ns_device_access); + unsigned int nsaid_permissions); void tzc400_set_action(tzc_action_t action); void tzc400_enable_filters(void); void tzc400_disable_filters(void); diff --git a/include/drivers/delay_timer.h b/include/drivers/delay_timer.h index 4e44a5ee..b28f619b 100644 --- a/include/drivers/delay_timer.h +++ b/include/drivers/delay_timer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -25,7 +25,7 @@ typedef struct timer_ops { void mdelay(uint32_t msec); void udelay(uint32_t usec); -void timer_init(const timer_ops_t *ops); +void timer_init(const timer_ops_t *ops_ptr); #endif /* __DELAY_TIMER_H__ */ diff --git a/include/drivers/io/io_storage.h b/include/drivers/io/io_storage.h index 50907ff7..485ed8c0 100644 --- a/include/drivers/io/io_storage.h +++ b/include/drivers/io/io_storage.h @@ -70,7 +70,7 @@ typedef struct io_block_spec { /* Open a connection to a device */ int io_dev_open(const struct io_dev_connector *dev_con, const uintptr_t dev_spec, - uintptr_t *dev_handle); + uintptr_t *handle); /* Initialise a device explicitly - to permit lazy initialisation or diff --git a/include/lib/cpus/errata_report.h b/include/lib/cpus/errata_report.h index 14f24073..d2138bf5 100644 --- a/include/lib/cpus/errata_report.h +++ b/include/lib/cpus/errata_report.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 */ @@ -20,6 +20,9 @@ void print_errata_status(void); static inline void print_errata_status(void) {} #endif +void errata_print_msg(unsigned int status, const char *cpu, const char *id); +int errata_needs_reporting(spinlock_t *lock, uint32_t *reported); + #endif /* __ASSEMBLY__ */ /* Errata status */ diff --git a/include/lib/el3_runtime/cpu_data.h b/include/lib/el3_runtime/cpu_data.h index 3f48de5e..15d34ebf 100644 --- a/include/lib/el3_runtime/cpu_data.h +++ b/include/lib/el3_runtime/cpu_data.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2014-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -102,6 +102,8 @@ typedef struct cpu_data { #endif } __aligned(CACHE_WRITEBACK_GRANULE) cpu_data_t; +extern cpu_data_t percpu_data[PLATFORM_CORE_COUNT]; + #if CRASH_REPORTING /* verify assembler offsets match data structures */ CASSERT(CPU_DATA_CRASH_BUF_OFFSET == __builtin_offsetof diff --git a/include/lib/el3_runtime/pubsub.h b/include/lib/el3_runtime/pubsub.h index 9a854808..2c8a1967 100644 --- a/include/lib/el3_runtime/pubsub.h +++ b/include/lib/el3_runtime/pubsub.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 */ @@ -49,9 +49,12 @@ * Have the function func called back when the specified event happens. This * macro places the function address into the pubsub section, which is picked up * and invoked by the invoke_pubsubs() function via. the PUBLISH_EVENT* macros. + * + * The extern declaration is there to satisfy MISRA C-2012 rule 8.4. */ #define SUBSCRIBE_TO_EVENT(event, func) \ - pubsub_cb_t __cb_func_##func##event __pubsub_section(event) = func + extern pubsub_cb_t __cb_func_##func##event __pubsub_section(event); \ + pubsub_cb_t __cb_func_##func##event __pubsub_section(event) = (func) /* * Iterate over subscribed handlers for a defined event. 'event' is the name of diff --git a/include/lib/pmf/pmf.h b/include/lib/pmf/pmf.h index cdff7635..a3d32263 100644 --- a/include/lib/pmf/pmf.h +++ b/include/lib/pmf/pmf.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -162,7 +162,7 @@ int pmf_get_timestamp_smc(unsigned int tid, u_register_t mpidr, unsigned int flags, - unsigned long long *ts); + unsigned long long *ts_value); int pmf_setup(void); uintptr_t pmf_smc_handler(unsigned int smc_fid, u_register_t x1, diff --git a/include/lib/pmf/pmf_helpers.h b/include/lib/pmf/pmf_helpers.h index 9984d691..829ad6cc 100644 --- a/include/lib/pmf/pmf_helpers.h +++ b/include/lib/pmf/pmf_helpers.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -45,8 +45,11 @@ typedef struct pmf_svc_desc { /* * Convenience macro to allocate memory for a PMF service. + * + * The extern declaration is there to satisfy MISRA C-2012 rule 8.4. */ #define PMF_ALLOCATE_TIMESTAMP_MEMORY(_name, _total_id) \ + extern unsigned long long pmf_ts_mem_ ## _name[_total_id]; \ unsigned long long pmf_ts_mem_ ## _name[_total_id] \ __aligned(CACHE_WRITEBACK_GRANULE) \ __section("pmf_timestamp_array") \ @@ -60,10 +63,15 @@ typedef struct pmf_svc_desc { /* * Convenience macros for capturing time-stamp. + * + * The extern declaration is there to satisfy MISRA C-2012 rule 8.4. */ #define PMF_DEFINE_CAPTURE_TIMESTAMP(_name, _flags) \ void pmf_capture_timestamp_ ## _name( \ unsigned int tid, \ + unsigned long long ts); \ + void pmf_capture_timestamp_ ## _name( \ + unsigned int tid, \ unsigned long long ts) \ { \ CASSERT(_flags, select_proper_config); \ @@ -76,6 +84,9 @@ typedef struct pmf_svc_desc { } \ void pmf_capture_timestamp_with_cache_maint_ ## _name( \ unsigned int tid, \ + unsigned long long ts); \ + void pmf_capture_timestamp_with_cache_maint_ ## _name( \ + unsigned int tid, \ unsigned long long ts) \ { \ CASSERT(_flags, select_proper_config); \ @@ -89,9 +100,13 @@ typedef struct pmf_svc_desc { /* * Convenience macros for retrieving time-stamp. + * + * The extern declaration is there to satisfy MISRA C-2012 rule 8.4. */ #define PMF_DEFINE_GET_TIMESTAMP(_name) \ unsigned long long pmf_get_timestamp_by_index_ ## _name( \ + unsigned int tid, unsigned int cpuid, unsigned int flags);\ + unsigned long long pmf_get_timestamp_by_index_ ## _name( \ unsigned int tid, unsigned int cpuid, unsigned int flags)\ { \ PMF_VALIDATE_TID(_name, tid); \ @@ -99,6 +114,8 @@ typedef struct pmf_svc_desc { return __pmf_get_timestamp(base_addr, tid, cpuid, flags);\ } \ unsigned long long pmf_get_timestamp_by_mpidr_ ## _name( \ + unsigned int tid, u_register_t mpidr, unsigned int flags);\ + unsigned long long pmf_get_timestamp_by_mpidr_ ## _name( \ unsigned int tid, u_register_t mpidr, unsigned int flags)\ { \ PMF_VALIDATE_TID(_name, tid); \ diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index b2c7bd27..0a80814c 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -125,7 +125,7 @@ int arm_validate_ns_entrypoint(uintptr_t entrypoint); void arm_system_pwr_domain_save(void); void arm_system_pwr_domain_resume(void); void arm_program_trusted_mailbox(uintptr_t address); -int arm_psci_read_mem_protect(int *val); +int arm_psci_read_mem_protect(int *enabled); int arm_nor_psci_write_mem_protect(int val); void arm_nor_psci_do_mem_protect(void); int arm_psci_mem_protect_chk(uintptr_t base, u_register_t length); @@ -237,4 +237,8 @@ int arm_execution_state_switch(unsigned int smc_fid, uint32_t cookie_lo, void *handle); +/* global variables */ +extern plat_psci_ops_t plat_arm_psci_pm_ops; +extern const mmap_region_t plat_arm_mmap[]; + #endif /* __PLAT_ARM_H__ */ diff --git a/include/plat/arm/css/common/css_pm.h b/include/plat/arm/css/common/css_pm.h index 3842875d..0f92e60b 100644 --- a/include/plat/arm/css/common/css_pm.h +++ b/include/plat/arm/css/common/css_pm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -33,4 +33,10 @@ void css_cpu_standby(plat_local_state_t cpu_state); void css_get_sys_suspend_power_state(psci_power_state_t *req_state); int css_node_hw_state(u_register_t mpidr, unsigned int power_level); +/* + * This mapping array has to be exported by the platform. Each element at + * a given index maps that core to an SCMI power domain. + */ +extern const uint32_t plat_css_core_pos_to_scmi_dmn_id_map[]; + #endif /* __CSS_PM_H__ */ diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h index 411202da..aa181c82 100644 --- a/include/plat/common/platform.h +++ b/include/plat/common/platform.h @@ -301,7 +301,7 @@ struct entry_point_info *bl31_plat_get_next_image_ep_info(uint32_t type); * Mandatory PSCI functions (BL31) ******************************************************************************/ int plat_setup_psci_ops(uintptr_t sec_entrypoint, - const struct plat_psci_ops **); + const struct plat_psci_ops **psci_ops); const unsigned char *plat_get_power_domain_tree_desc(void); /******************************************************************************* @@ -311,7 +311,7 @@ void plat_psci_stat_accounting_start(const psci_power_state_t *state_info); void plat_psci_stat_accounting_stop(const psci_power_state_t *state_info); u_register_t plat_psci_stat_get_residency(unsigned int lvl, const psci_power_state_t *state_info, - int last_cpu_index); + int last_cpu_idx); plat_local_state_t plat_get_target_pwr_state(unsigned int lvl, const plat_local_state_t *states, unsigned int ncpu); @@ -386,12 +386,14 @@ int platform_setup_pm(const plat_pm_ops_t **); unsigned int plat_get_aff_count(unsigned int, unsigned long); unsigned int plat_get_aff_state(unsigned int, unsigned long); + #else /* __ENABLE_PLAT_COMPAT__ */ /* * The below function enable Trusted Firmware components like SPDs which * haven't migrated to the new platform API to compile on platforms which * have the compatibility layer disabled. */ +unsigned int platform_core_pos_helper(unsigned long mpidr); unsigned int platform_get_core_pos(unsigned long mpidr) __deprecated; #endif /* __ENABLE_PLAT_COMPAT__ */ |