mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 17:44:19 +00:00

Add support for platform specific warm-reset through psci system reset 2. - system_reset2 implementation that calls for l2 cache reset - Check for magic number and request for warm reset in bl2 - Create a shared reset manager header file for Agilex and Stratix 10 - Clean up parameter info in plat_get_next_bl_params Signed-off-by: Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com> Change-Id: I3fdd9a2711c80d9bd3dc05b81527781d840bd726
58 lines
1.8 KiB
C
58 lines
1.8 KiB
C
/*
|
|
* Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <common/desc_image_load.h>
|
|
|
|
/*******************************************************************************
|
|
* This function flushes the data structures so that they are visible
|
|
* in memory for the next BL image.
|
|
******************************************************************************/
|
|
void plat_flush_next_bl_params(void)
|
|
{
|
|
flush_bl_params_desc();
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* This function returns the list of loadable images.
|
|
******************************************************************************/
|
|
bl_load_info_t *plat_get_bl_image_load_info(void)
|
|
{
|
|
return get_bl_load_info_from_mem_params_desc();
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* This function returns the list of executable images.
|
|
******************************************************************************/
|
|
bl_params_t *plat_get_next_bl_params(void)
|
|
{
|
|
unsigned int count;
|
|
unsigned int img_id = 0U;
|
|
unsigned int link_index = 0U;
|
|
bl_params_node_t *bl_exec_node = NULL;
|
|
bl_mem_params_node_t *desc_ptr;
|
|
|
|
/* If there is no image to start with, return NULL */
|
|
if (bl_mem_params_desc_num == 0U)
|
|
return NULL;
|
|
|
|
/* Clean next_params_info in BL image node */
|
|
for (count = 0U; count < bl_mem_params_desc_num; count++) {
|
|
|
|
desc_ptr = &bl_mem_params_desc_ptr[link_index];
|
|
bl_exec_node = &desc_ptr->params_node_mem;
|
|
bl_exec_node->next_params_info = NULL;
|
|
|
|
/* If no next hand-off image then break out */
|
|
img_id = desc_ptr->next_handoff_image_id;
|
|
if (img_id == INVALID_IMAGE_ID)
|
|
break;
|
|
|
|
/* Get the index for the next hand-off image */
|
|
link_index = get_bl_params_node_index(img_id);
|
|
}
|
|
|
|
return get_next_bl_params_from_mem_params_desc();
|
|
}
|