1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #include <assert.h> 8*91f16700Schasinglulu #include <common/bl_common.h> 9*91f16700Schasinglulu #include <common/desc_image_load.h> 10*91f16700Schasinglulu #include <plat/common/platform.h> 11*91f16700Schasinglulu 12*91f16700Schasinglulu /******************************************************************************* 13*91f16700Schasinglulu * This function flushes the data structures so that they are visible 14*91f16700Schasinglulu * in memory for the next BL image. 15*91f16700Schasinglulu ******************************************************************************/ 16*91f16700Schasinglulu void plat_flush_next_bl_params(void) 17*91f16700Schasinglulu { 18*91f16700Schasinglulu flush_bl_params_desc(); 19*91f16700Schasinglulu } 20*91f16700Schasinglulu 21*91f16700Schasinglulu /******************************************************************************* 22*91f16700Schasinglulu * This function returns the list of loadable images. 23*91f16700Schasinglulu ******************************************************************************/ 24*91f16700Schasinglulu bl_load_info_t *plat_get_bl_image_load_info(void) 25*91f16700Schasinglulu { 26*91f16700Schasinglulu return get_bl_load_info_from_mem_params_desc(); 27*91f16700Schasinglulu } 28*91f16700Schasinglulu 29*91f16700Schasinglulu 30*91f16700Schasinglulu /******************************************************************************* 31*91f16700Schasinglulu * ARM helper function to return the list of executable images. Since the default 32*91f16700Schasinglulu * descriptors are allocated within BL2 RW memory, this prevents BL31/BL32 33*91f16700Schasinglulu * overlay of BL2 memory. Hence this function also copies the descriptors to a 34*91f16700Schasinglulu * pre-allocated memory indicated by ARM_BL2_MEM_DESC_BASE. 35*91f16700Schasinglulu ******************************************************************************/ 36*91f16700Schasinglulu struct bl_params *hikey960_get_next_bl_params(void) 37*91f16700Schasinglulu { 38*91f16700Schasinglulu bl_params_t *next_bl_params; 39*91f16700Schasinglulu 40*91f16700Schasinglulu next_bl_params = get_next_bl_params_from_mem_params_desc(); 41*91f16700Schasinglulu assert(next_bl_params != NULL); 42*91f16700Schasinglulu 43*91f16700Schasinglulu populate_next_bl_params_config(next_bl_params); 44*91f16700Schasinglulu 45*91f16700Schasinglulu return next_bl_params; 46*91f16700Schasinglulu } 47*91f16700Schasinglulu 48*91f16700Schasinglulu 49*91f16700Schasinglulu /******************************************************************************* 50*91f16700Schasinglulu * This function returns the list of executable images. 51*91f16700Schasinglulu ******************************************************************************/ 52*91f16700Schasinglulu bl_params_t *plat_get_next_bl_params(void) 53*91f16700Schasinglulu { 54*91f16700Schasinglulu return hikey960_get_next_bl_params(); 55*91f16700Schasinglulu } 56