Fix MISRA rule 8.4 in common code

Rule 8.4: A compatible declaration shall be visible when
          an object or function with external linkage is defined.

Change-Id: I26e042cb251a6f9590afa1340fdac73e42f23979
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
This commit is contained in:
Roberto Vargas 2018-02-12 12:36:17 +00:00
parent 9fb8af33c4
commit 7fabe1a899
28 changed files with 105 additions and 26 deletions

View File

@ -200,6 +200,8 @@ BL_COMMON_SOURCES += common/bl_common.c \
${STDLIB_SRCS} ${STDLIB_SRCS}
INCLUDES += -Iinclude/bl1 \ INCLUDES += -Iinclude/bl1 \
-Iinclude/bl2 \
-Iinclude/bl2u \
-Iinclude/bl31 \ -Iinclude/bl31 \
-Iinclude/common \ -Iinclude/common \
-Iinclude/common/${ARCH} \ -Iinclude/common/${ARCH} \

View File

@ -1,11 +1,12 @@
/* /*
* Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <arch.h> #include <arch.h>
#include <arch_helpers.h> #include <arch_helpers.h>
#include "../bl2_private.h"
/******************************************************************************* /*******************************************************************************
* Place holder function to perform any S-EL1 specific architectural setup. At * Place holder function to perform any S-EL1 specific architectural setup. At

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -7,6 +7,7 @@
#include <arch_helpers.h> #include <arch_helpers.h>
#include <auth_mod.h> #include <auth_mod.h>
#include <bl1.h> #include <bl1.h>
#include <bl2.h>
#include <bl_common.h> #include <bl_common.h>
#include <console.h> #include <console.h>
#include <debug.h> #include <debug.h>

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -17,6 +17,6 @@ struct entry_point_info;
*****************************************/ *****************************************/
void bl2_arch_setup(void); void bl2_arch_setup(void);
struct entry_point_info *bl2_load_images(void); struct entry_point_info *bl2_load_images(void);
void bl2_run_next_image(const entry_point_info_t *bl_ep_info); void bl2_run_next_image(const struct entry_point_info *bl_ep_info);
#endif /* __BL2_PRIVATE_H__ */ #endif /* __BL2_PRIVATE_H__ */

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -9,6 +9,7 @@
#include <assert.h> #include <assert.h>
#include <auth_mod.h> #include <auth_mod.h>
#include <bl1.h> #include <bl1.h>
#include <bl2u.h>
#include <bl_common.h> #include <bl_common.h>
#include <console.h> #include <console.h>
#include <debug.h> #include <debug.h>

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -17,6 +17,7 @@
#include <pmf.h> #include <pmf.h>
#include <runtime_instr.h> #include <runtime_instr.h>
#include <runtime_svc.h> #include <runtime_svc.h>
#include <std_svc.h>
#include <string.h> #include <string.h>
#if ENABLE_RUNTIME_INSTRUMENTATION #if ENABLE_RUNTIME_INSTRUMENTATION

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -49,6 +49,9 @@ unsigned int gicd_read_icactiver(uintptr_t base, unsigned int id);
unsigned int gicd_read_ipriorityr(uintptr_t base, unsigned int id); unsigned int gicd_read_ipriorityr(uintptr_t base, unsigned int id);
unsigned int gicd_read_icfgr(uintptr_t base, unsigned int id); unsigned int gicd_read_icfgr(uintptr_t base, unsigned int id);
unsigned int gicd_read_nsacr(uintptr_t base, unsigned int id); unsigned int gicd_read_nsacr(uintptr_t base, unsigned int id);
unsigned int gicd_read_spendsgir(uintptr_t base, unsigned int id);
unsigned int gicd_read_cpendsgir(uintptr_t base, unsigned int id);
unsigned int gicd_read_itargetsr(uintptr_t base, unsigned int id);
void gicd_write_igroupr(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_igroupr(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_isenabler(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_isenabler(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_icenabler(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_icenabler(uintptr_t base, unsigned int id, unsigned int val);
@ -59,6 +62,9 @@ void gicd_write_icactiver(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_ipriorityr(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_ipriorityr(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_icfgr(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_icfgr(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_nsacr(uintptr_t base, unsigned int id, unsigned int val); void gicd_write_nsacr(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_spendsgir(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_cpendsgir(uintptr_t base, unsigned int id, unsigned int val);
void gicd_write_itargetsr(uintptr_t base, unsigned int id, unsigned int val);
/******************************************************************************* /*******************************************************************************
* GIC Distributor function prototypes for accessing the GIC registers * GIC Distributor function prototypes for accessing the GIC registers

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -9,6 +9,7 @@
#include <assert.h> #include <assert.h>
#include <debug.h> #include <debug.h>
#include <gic_common.h> #include <gic_common.h>
#include <gicv2.h>
#include <interrupt_props.h> #include <interrupt_props.h>
#include "../common/gic_common_private.h" #include "../common/gic_common_private.h"
#include "gicv2_private.h" #include "gicv2_private.h"

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -22,7 +22,7 @@ static const gicv2_driver_data_t *driver_data;
* spinlock are used either at boot time (when only a single CPU is active), or * spinlock are used either at boot time (when only a single CPU is active), or
* when the system is fully coherent. * when the system is fully coherent.
*/ */
spinlock_t gic_lock; static spinlock_t gic_lock;
/******************************************************************************* /*******************************************************************************
* Enable secure interrupts and use FIQs to route them. Disable legacy bypass * Enable secure interrupts and use FIQs to route them. Disable legacy bypass

View File

@ -69,7 +69,7 @@ static inline int is_valid_header(fip_toc_header_t *header)
/* Identify the device type as a virtual driver */ /* Identify the device type as a virtual driver */
io_type_t device_type_fip(void) static io_type_t device_type_fip(void)
{ {
return IO_TYPE_FIRMWARE_IMAGE_PACKAGE; return IO_TYPE_FIRMWARE_IMAGE_PACKAGE;
} }

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -7,6 +7,7 @@
#include <assert.h> #include <assert.h>
#include <debug.h> #include <debug.h>
#include <io_driver.h> #include <io_driver.h>
#include <io_memmap.h>
#include <io_storage.h> #include <io_storage.h>
#include <string.h> #include <string.h>
#include <utils.h> #include <utils.h>
@ -28,7 +29,7 @@ typedef struct {
static file_state_t current_file = {0}; static file_state_t current_file = {0};
/* Identify the device type as memmap */ /* Identify the device type as memmap */
io_type_t device_type_memmap(void) static io_type_t device_type_memmap(void)
{ {
return IO_TYPE_MEMMAP; return IO_TYPE_MEMMAP;
} }

View File

@ -1,11 +1,12 @@
/* /*
* Copyright (c) 2014, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2014-2018, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <assert.h> #include <assert.h>
#include <io_driver.h> #include <io_driver.h>
#include <io_semihosting.h>
#include <io_storage.h> #include <io_storage.h>
#include <semihosting.h> #include <semihosting.h>

View File

@ -64,6 +64,26 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <cassert.h> #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);
/* /*
* Check if the total number of FWU SMC calls are as expected. * Check if the total number of FWU SMC calls are as expected.
*/ */

12
include/bl2/bl2.h Normal file
View File

@ -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 bl2_main(void);
#endif /* BL2_H__ */

12
include/bl2u/bl2u.h Normal file
View File

@ -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__ */

View File

@ -18,5 +18,7 @@ uint32_t bl31_get_next_image_type(void);
void bl31_prepare_next_image_entry(void); void bl31_prepare_next_image_entry(void);
void bl31_register_bl32_init(int32_t (*func)(void)); void bl31_register_bl32_init(int32_t (*func)(void));
void bl31_warm_entrypoint(void); void bl31_warm_entrypoint(void);
void bl31_main(void);
void bl31_lib_init(void);
#endif /* __BL31_H__ */ #endif /* __BL31_H__ */

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -126,5 +126,7 @@ extern uintptr_t __RT_SVC_DESCS_START__;
extern uintptr_t __RT_SVC_DESCS_END__; extern uintptr_t __RT_SVC_DESCS_END__;
void init_crash_reporting(void); void init_crash_reporting(void);
extern uint8_t rt_svc_descs_indices[MAX_RT_SVCS];
#endif /*__ASSEMBLY__*/ #endif /*__ASSEMBLY__*/
#endif /* __RUNTIME_SVC_H__ */ #endif /* __RUNTIME_SVC_H__ */

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -20,6 +20,9 @@ void print_errata_status(void);
static inline void print_errata_status(void) {} static inline void print_errata_status(void) {}
#endif #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__ */ #endif /* __ASSEMBLY__ */
/* Errata status */ /* Errata status */

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -102,6 +102,8 @@ typedef struct cpu_data {
#endif #endif
} __aligned(CACHE_WRITEBACK_GRANULE) cpu_data_t; } __aligned(CACHE_WRITEBACK_GRANULE) cpu_data_t;
extern cpu_data_t percpu_data[PLATFORM_CORE_COUNT];
#if CRASH_REPORTING #if CRASH_REPORTING
/* verify assembler offsets match data structures */ /* verify assembler offsets match data structures */
CASSERT(CPU_DATA_CRASH_BUF_OFFSET == __builtin_offsetof CASSERT(CPU_DATA_CRASH_BUF_OFFSET == __builtin_offsetof

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -49,9 +49,12 @@
* Have the function func called back when the specified event happens. This * 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 * 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. * 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) \ #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 * Iterate over subscribed handlers for a defined event. 'event' is the name of

View File

@ -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_count(unsigned int, unsigned long);
unsigned int plat_get_aff_state(unsigned int, unsigned long); unsigned int plat_get_aff_state(unsigned int, unsigned long);
#else /* __ENABLE_PLAT_COMPAT__ */ #else /* __ENABLE_PLAT_COMPAT__ */
/* /*
* The below function enable Trusted Firmware components like SPDs which * The below function enable Trusted Firmware components like SPDs which
* haven't migrated to the new platform API to compile on platforms which * haven't migrated to the new platform API to compile on platforms which
* have the compatibility layer disabled. * have the compatibility layer disabled.
*/ */
unsigned int platform_core_pos_helper(unsigned long mpidr);
unsigned int platform_get_core_pos(unsigned long mpidr) __deprecated; unsigned int platform_get_core_pos(unsigned long mpidr) __deprecated;
#endif /* __ENABLE_PLAT_COMPAT__ */ #endif /* __ENABLE_PLAT_COMPAT__ */

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -7,6 +7,7 @@
#include <arch.h> #include <arch.h>
#include <arch_helpers.h> #include <arch_helpers.h>
#include <pubsub.h> #include <pubsub.h>
#include <spe.h>
/* /*
* The assembler does not yet understand the psb csync mnemonic * The assembler does not yet understand the psb csync mnemonic

View File

@ -1,10 +1,11 @@
/* /*
* Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <debug.h> #include <debug.h>
#include <stdlib.h>
/* /*
* This is a basic implementation. This could be improved. * This is a basic implementation. This could be improved.

View File

@ -1,10 +1,11 @@
/* /*
* 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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <debug.h> #include <debug.h>
#include <stdlib.h>
void exit(int v) void exit(int v)
{ {

View File

@ -1,9 +1,10 @@
/* /*
* 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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <stdio.h>
#include <sys/cdefs.h> #include <sys/cdefs.h>
/* /*

View File

@ -36,6 +36,7 @@ void bl2_plat_preload_setup(void)
{ {
} }
#if LOAD_IMAGE_V2
int bl2_plat_handle_pre_image_load(unsigned int image_id) int bl2_plat_handle_pre_image_load(unsigned int image_id)
{ {
return 0; return 0;
@ -45,6 +46,7 @@ int bl2_plat_handle_post_image_load(unsigned int image_id)
{ {
return 0; return 0;
} }
#endif
int plat_try_next_boot_source(void) int plat_try_next_boot_source(void)
{ {

View File

@ -33,7 +33,7 @@ static int32_t smccc_arch_features(u_register_t arg)
/* /*
* Top-level Arm Architectural Service SMC handler. * Top-level Arm Architectural Service SMC handler.
*/ */
uintptr_t arm_arch_svc_smc_handler(uint32_t smc_fid, static uintptr_t arm_arch_svc_smc_handler(uint32_t smc_fid,
u_register_t x1, u_register_t x1,
u_register_t x2, u_register_t x2,
u_register_t x3, u_register_t x3,

View File

@ -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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -58,7 +58,7 @@ static int32_t std_svc_setup(void)
* Top-level Standard Service SMC handler. This handler will in turn dispatch * Top-level Standard Service SMC handler. This handler will in turn dispatch
* calls to PSCI SMC handler * calls to PSCI SMC handler
*/ */
uintptr_t std_svc_smc_handler(uint32_t smc_fid, static uintptr_t std_svc_smc_handler(uint32_t smc_fid,
u_register_t x1, u_register_t x1,
u_register_t x2, u_register_t x2,
u_register_t x3, u_register_t x3,