Home | History | Annotate | Download | only in common
      1 /*
      2  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 #ifndef __DESC_IMAGE_LOAD_H__
      7 #define __DESC_IMAGE_LOAD_H__
      8 
      9 #include <bl_common.h>
     10 
     11 #if LOAD_IMAGE_V2
     12 /* Following structure is used to store BL ep/image info. */
     13 typedef struct bl_mem_params_node {
     14 	unsigned int image_id;
     15 	image_info_t image_info;
     16 	entry_point_info_t ep_info;
     17 	unsigned int next_handoff_image_id;
     18 	bl_load_info_node_t load_node_mem;
     19 	bl_params_node_t params_node_mem;
     20 } bl_mem_params_node_t;
     21 
     22 /*
     23  * Macro to register list of BL image descriptors,
     24  * defined as an array of bl_mem_params_node_t.
     25  */
     26 #define REGISTER_BL_IMAGE_DESCS(_img_desc)				\
     27 	bl_mem_params_node_t *bl_mem_params_desc_ptr = &_img_desc[0];	\
     28 	unsigned int bl_mem_params_desc_num = ARRAY_SIZE(_img_desc);
     29 
     30 /* BL image loading utility functions */
     31 void flush_bl_params_desc(void);
     32 int get_bl_params_node_index(unsigned int image_id);
     33 bl_mem_params_node_t *get_bl_mem_params_node(unsigned int image_id);
     34 bl_load_info_t *get_bl_load_info_from_mem_params_desc(void);
     35 bl_params_t *get_next_bl_params_from_mem_params_desc(void);
     36 
     37 
     38 #endif /* LOAD_IMAGE_V2 */
     39 #endif /* __DESC_IMAGE_LOAD_H__ */
     40