X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fatf_common.h;h=d69892fac6cbc142c4830a45c55e69ff5a5ff2be;hb=5fac11e6d5ab350429b8c8ddf47d3d3877ca89d1;hp=8c513e7c3e04f70d54663a1a42702ef957446c92;hpb=bcc1726a7bdd910b482528fde2faef21bff3b361;p=platform%2Fkernel%2Fu-boot.git diff --git a/include/atf_common.h b/include/atf_common.h index 8c513e7..d69892f 100644 --- a/include/atf_common.h +++ b/include/atf_common.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ /* * This is from the ARM TF Project, * Repository: https://github.com/ARM-software/arm-trusted-firmware.git @@ -5,8 +6,6 @@ * Portions copyright (c) 2013-2016, ARM Limited and Contributors. All rights * reserved. * Copyright (C) 2016-2017 Rockchip Electronic Co.,Ltd - * - * SPDX-License-Identifier: BSD-3-Clause */ #ifndef __BL_COMMON_H__ @@ -15,8 +14,14 @@ #define ATF_PARAM_EP 0x01 #define ATF_PARAM_IMAGE_BINARY 0x02 #define ATF_PARAM_BL31 0x03 +#define ATF_PARAM_BL_PARAMS 0x05 #define ATF_VERSION_1 0x01 +#define ATF_VERSION_2 0x02 + +#define ATF_BL31_IMAGE_ID 0x03 +#define ATF_BL32_IMAGE_ID 0x04 +#define ATF_BL33_IMAGE_ID 0x05 #define ATF_EP_SECURE 0x0 #define ATF_EP_NON_SECURE 0x1 @@ -122,6 +127,9 @@ struct atf_image_info { struct param_header h; uintptr_t image_base; /* physical address of base of image */ uint32_t image_size; /* bytes read from image file */ +#if CONFIG_IS_ENABLED(ATF_LOAD_IMAGE_V2) + uint32_t image_max_size; +#endif }; /***************************************************************************** @@ -163,21 +171,28 @@ struct bl31_params { struct atf_image_info *bl33_image_info; }; -/******************************************************************************* - * This structure represents the superset of information that is passed to - * BL31, e.g. while passing control to it from BL2, bl31_params - * and other platform specific params - ******************************************************************************/ -struct bl2_to_bl31_params_mem { - struct bl31_params bl31_params; - struct atf_image_info bl31_image_info; - struct atf_image_info bl32_image_info; - struct atf_image_info bl33_image_info; - struct entry_point_info bl33_ep_info; - struct entry_point_info bl32_ep_info; - struct entry_point_info bl31_ep_info; +/* BL image node in the BL image execution sequence */ +struct bl_params_node { + unsigned int image_id; + struct atf_image_info *image_info; + struct entry_point_info *ep_info; + struct bl_params_node *next_params_info; }; -#endif /*__ASSEMBLY__*/ +/* + * BL image head node in the BL image execution sequence + * It is also used to pass information to next BL image. + */ +struct bl_params { + struct param_header h; + struct bl_params_node *head; +}; + +#define for_each_bl_params_node(bl_params, node) \ + for ((node) = (bl_params)->head; \ + (node); \ + (node) = (node)->next_params_info) + +#endif /*__ASSEMBLY__ */ #endif /* __BL_COMMON_H__ */