From 1a29f93815d3ec313c4667d7108d379b93ef6831 Mon Sep 17 00:00:00 2001 From: Roberto Vargas Date: Mon, 12 Feb 2018 12:36:17 +0000 Subject: [PATCH] Fix MISRA rule 8.4 Part 3 Rule 8.4: A compatible declaration shall be visible when an object or function with external linkage is defined Fixed for: make DEBUG=1 PLAT=fvp SPD=tspd all Change-Id: I0a16cf68fef29cf00ec0a52e47786f61d02ca4ae Signed-off-by: Roberto Vargas --- bl32/tsp/tsp_private.h | 40 ++++++++++++++++++++++++++++++++ plat/arm/board/fvp/fvp_private.h | 3 ++- services/spd/tspd/tspd_private.h | 12 ++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/bl32/tsp/tsp_private.h b/bl32/tsp/tsp_private.h index 4a7acaab7..dd65a5fbe 100644 --- a/bl32/tsp/tsp_private.h +++ b/bl32/tsp/tsp_private.h @@ -106,7 +106,47 @@ extern work_statistics_t tsp_stats[PLATFORM_CORE_COUNT]; /* Vector table of jumps */ extern tsp_vectors_t tsp_vector_table; +/* functions */ +int32_t tsp_common_int_handler(void); +int32_t tsp_handle_preemption(void); +tsp_args_t *tsp_abort_smc_handler(uint64_t func, + uint64_t arg1, + uint64_t arg2, + uint64_t arg3, + uint64_t arg4, + uint64_t arg5, + uint64_t arg6, + uint64_t arg7); + +tsp_args_t *tsp_smc_handler(uint64_t func, + uint64_t arg1, + uint64_t arg2, + uint64_t arg3, + uint64_t arg4, + uint64_t arg5, + uint64_t arg6, + uint64_t arg7); + +tsp_args_t *tsp_system_reset_main(uint64_t arg0, + uint64_t arg1, + uint64_t arg2, + uint64_t arg3, + uint64_t arg4, + uint64_t arg5, + uint64_t arg6, + uint64_t arg7); + +tsp_args_t *tsp_system_off_main(uint64_t arg0, + uint64_t arg1, + uint64_t arg2, + uint64_t arg3, + uint64_t arg4, + uint64_t arg5, + uint64_t arg6, + uint64_t arg7); + +uint64_t tsp_main(void); #endif /* __ASSEMBLY__ */ #endif /* __TSP_PRIVATE_H__ */ diff --git a/plat/arm/board/fvp/fvp_private.h b/plat/arm/board/fvp/fvp_private.h index c5cd07d14..16f10a22f 100644 --- a/plat/arm/board/fvp/fvp_private.h +++ b/plat/arm/board/fvp/fvp_private.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 */ @@ -18,6 +18,7 @@ void fvp_config_setup(void); void fvp_interconnect_init(void); void fvp_interconnect_enable(void); void fvp_interconnect_disable(void); +void tsp_early_platform_setup(void); #endif /* __FVP_PRIVATE_H__ */ diff --git a/services/spd/tspd/tspd_private.h b/services/spd/tspd/tspd_private.h index a4d72abed..a63daff10 100644 --- a/services/spd/tspd/tspd_private.h +++ b/services/spd/tspd/tspd_private.h @@ -221,6 +221,18 @@ void tspd_init_tsp_ep_state(struct entry_point_info *tsp_entry_point, tsp_context_t *tsp_ctx); int tspd_abort_preempted_smc(tsp_context_t *tsp_ctx); +uint64_t tspd_smc_handler(uint32_t smc_fid, + uint64_t x1, + uint64_t x2, + uint64_t x3, + uint64_t x4, + void *cookie, + void *handle, + uint64_t flags); + +int32_t tspd_setup(void); +uint64_t tspd_handle_sp_preemption(void *handle); + extern tsp_context_t tspd_sp_context[TSPD_CORE_COUNT]; extern tsp_vectors_t *tsp_vectors; #endif /*__ASSEMBLY__*/