Commit 39171cd0 authored by Varun Wadekar's avatar Varun Wadekar
Browse files

Tegra: remove weakly defined platform setup handlers



This patch converts the weakly defined platform setup handlers into
actual platform specific handlers to improve code coverage numbers
and some MISRA defects.

The weakly defined handlers never get executed thus resulting in
lower coverage - function, function calls, statements, branches
and pairs.

Change-Id: I02f450f66b5754a90d934df4d76eb91459fca5f9
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent 5f1803f9
...@@ -64,35 +64,6 @@ static aapcs64_params_t bl32_args; ...@@ -64,35 +64,6 @@ static aapcs64_params_t bl32_args;
******************************************************************************/ ******************************************************************************/
extern uint64_t ns_image_entrypoint; extern uint64_t ns_image_entrypoint;
/*******************************************************************************
* The following platform setup functions are weakly defined. They
* provide typical implementations that will be overridden by a SoC.
******************************************************************************/
#pragma weak plat_early_platform_setup
#pragma weak plat_get_bl31_params
#pragma weak plat_get_bl31_plat_params
#pragma weak plat_late_platform_setup
void plat_early_platform_setup(void)
{
; /* do nothing */
}
struct tegra_bl31_params *plat_get_bl31_params(void)
{
return NULL;
}
plat_params_from_bl2_t *plat_get_bl31_plat_params(void)
{
return NULL;
}
void plat_late_platform_setup(void)
{
; /* do nothing */
}
/******************************************************************************* /*******************************************************************************
* Return a pointer to the 'entry_point_info' structure of the next image for * Return a pointer to the 'entry_point_info' structure of the next image for
* security state specified. BL33 corresponds to the non-secure image type * security state specified. BL33 corresponds to the non-secure image type
...@@ -137,8 +108,7 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, ...@@ -137,8 +108,7 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
/* /*
* For RESET_TO_BL31 systems, BL31 is the first bootloader to run so * For RESET_TO_BL31 systems, BL31 is the first bootloader to run so
* there's no argument to relay from a previous bootloader. Platforms * there's no argument to relay from a previous bootloader. Platforms
* might use custom ways to get arguments, so provide handlers which * might use custom ways to get arguments.
* they can override.
*/ */
if (arg_from_bl2 == NULL) { if (arg_from_bl2 == NULL) {
arg_from_bl2 = plat_get_bl31_params(); arg_from_bl2 = plat_get_bl31_params();
......
/* /*
* Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -121,3 +122,35 @@ void plat_gic_setup(void) ...@@ -121,3 +122,35 @@ void plat_gic_setup(void)
tegra_gic_setup(NULL, 0); tegra_gic_setup(NULL, 0);
tegra_gic_init(); tegra_gic_init();
} }
/*******************************************************************************
* Return pointer to the BL31 params from previous bootloader
******************************************************************************/
struct tegra_bl31_params *plat_get_bl31_params(void)
{
return NULL;
}
/*******************************************************************************
* Return pointer to the BL31 platform params from previous bootloader
******************************************************************************/
plat_params_from_bl2_t *plat_get_bl31_plat_params(void)
{
return NULL;
}
/*******************************************************************************
* Handler for early platform setup
******************************************************************************/
void plat_early_platform_setup(void)
{
; /* do nothing */
}
/*******************************************************************************
* Handler for late platform setup
******************************************************************************/
void plat_late_platform_setup(void)
{
; /* do nothing */
}
/* /*
* Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -193,6 +194,14 @@ void plat_early_platform_setup(void) ...@@ -193,6 +194,14 @@ void plat_early_platform_setup(void)
} }
} }
/*******************************************************************************
* Handler for late platform setup
******************************************************************************/
void plat_late_platform_setup(void)
{
; /* do nothing */
}
/* Secure IRQs for Tegra186 */ /* Secure IRQs for Tegra186 */
static const interrupt_prop_t tegra186_interrupt_props[] = { static const interrupt_prop_t tegra186_interrupt_props[] = {
INTR_PROP_DESC(TEGRA186_TOP_WDT_IRQ, GIC_HIGHEST_SEC_PRIORITY, INTR_PROP_DESC(TEGRA186_TOP_WDT_IRQ, GIC_HIGHEST_SEC_PRIORITY,
......
/* /*
* Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -140,6 +141,22 @@ void plat_enable_console(int32_t id) ...@@ -140,6 +141,22 @@ void plat_enable_console(int32_t id)
} }
} }
/*******************************************************************************
* Return pointer to the BL31 params from previous bootloader
******************************************************************************/
struct tegra_bl31_params *plat_get_bl31_params(void)
{
return NULL;
}
/*******************************************************************************
* Return pointer to the BL31 platform params from previous bootloader
******************************************************************************/
plat_params_from_bl2_t *plat_get_bl31_plat_params(void)
{
return NULL;
}
/******************************************************************************* /*******************************************************************************
* Handler for early platform setup * Handler for early platform setup
******************************************************************************/ ******************************************************************************/
...@@ -168,6 +185,9 @@ static const interrupt_prop_t tegra210_interrupt_props[] = { ...@@ -168,6 +185,9 @@ static const interrupt_prop_t tegra210_interrupt_props[] = {
GICV2_INTR_GROUP0, GIC_INTR_CFG_EDGE), GICV2_INTR_GROUP0, GIC_INTR_CFG_EDGE),
}; };
/*******************************************************************************
* Handler for late platform setup
******************************************************************************/
void plat_late_platform_setup(void) void plat_late_platform_setup(void)
{ {
const plat_params_from_bl2_t *plat_params = bl31_get_plat_params(); const plat_params_from_bl2_t *plat_params = bl31_get_plat_params();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment