mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00

This patch introduces a new BL handover interface. It essentially allows passing 4 arguments between the different BL stages. Effort has been made so as to be compatible with the previous handover interface. The previous blx_early_platform_setup() platform API is now deprecated and the new blx_early_platform_setup2() variant is introduced. The weak compatiblity implementation for the new API is done in the `plat_bl_common.c` file. Some of the new arguments in the new API will be reserved for generic code use when dynamic configuration support is implemented. Otherwise the other registers are available for platform use. Change-Id: Ifddfe2ea8e32497fe1beb565cac155ad9d50d404 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
66 lines
1.3 KiB
C
66 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <arch_helpers.h>
|
|
#include <assert.h>
|
|
#include <bl_common.h>
|
|
#include <debug.h>
|
|
#include <errno.h>
|
|
#include <platform.h>
|
|
|
|
/*
|
|
* The following platform functions are weakly defined. The Platforms
|
|
* may redefine with strong definition.
|
|
*/
|
|
#pragma weak bl2_el3_plat_prepare_exit
|
|
#pragma weak plat_error_handler
|
|
#pragma weak bl2_plat_preload_setup
|
|
#pragma weak bl2_plat_handle_pre_image_load
|
|
#pragma weak bl2_plat_handle_post_image_load
|
|
#pragma weak plat_try_next_boot_source
|
|
|
|
void bl2_el3_plat_prepare_exit(void)
|
|
{
|
|
}
|
|
|
|
void __dead2 plat_error_handler(int err)
|
|
{
|
|
while (1)
|
|
wfi();
|
|
}
|
|
|
|
void bl2_plat_preload_setup(void)
|
|
{
|
|
}
|
|
|
|
int bl2_plat_handle_pre_image_load(unsigned int image_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int bl2_plat_handle_post_image_load(unsigned int image_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int plat_try_next_boot_source(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#if !ERROR_DEPRECATED
|
|
#pragma weak bl2_early_platform_setup2
|
|
|
|
/*
|
|
* The following platform API implementation that allow compatibility for
|
|
* the older platform APIs.
|
|
*/
|
|
void bl2_early_platform_setup2(u_register_t arg0, u_register_t arg1,
|
|
u_register_t arg2, u_register_t arg3)
|
|
{
|
|
bl2_early_platform_setup((void *)arg1);
|
|
}
|
|
#endif
|