• Soby Mathew's avatar
    Introduce the new BL handover interface · a6f340fe
    Soby Mathew authored
    
    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: default avatarSoby Mathew <soby.mathew@arm.com>
    a6f340fe
platform_sp_min.h 925 Bytes
/*
 * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef __PLATFORM_SP_MIN_H__
#define __PLATFORM_SP_MIN_H__

/*******************************************************************************
 * Mandatory SP_MIN functions
 ******************************************************************************/
#if !ERROR_DEPRECATED
void sp_min_early_platform_setup(void *from_bl2,
		void *plat_params_from_bl2);
#endif
void sp_min_early_platform_setup2(u_register_t arg0, u_register_t arg1,
		u_register_t arg2, u_register_t arg3);
void sp_min_platform_setup(void);
void sp_min_plat_runtime_setup(void);
void sp_min_plat_arch_setup(void);
entry_point_info_t *sp_min_plat_get_bl33_ep_info(void);

/* Platforms that enable SP_MIN_WITH_SECURE_FIQ shall implement this api */
void sp_min_plat_fiq_handler(uint32_t id);

#endif /* __PLATFORM_SP_MIN_H__ */