1*48bfb88eSYatharth Kochar /* 2*48bfb88eSYatharth Kochar * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. 3*48bfb88eSYatharth Kochar * 4*48bfb88eSYatharth Kochar * Redistribution and use in source and binary forms, with or without 5*48bfb88eSYatharth Kochar * modification, are permitted provided that the following conditions are met: 6*48bfb88eSYatharth Kochar * 7*48bfb88eSYatharth Kochar * Redistributions of source code must retain the above copyright notice, this 8*48bfb88eSYatharth Kochar * list of conditions and the following disclaimer. 9*48bfb88eSYatharth Kochar * 10*48bfb88eSYatharth Kochar * Redistributions in binary form must reproduce the above copyright notice, 11*48bfb88eSYatharth Kochar * this list of conditions and the following disclaimer in the documentation 12*48bfb88eSYatharth Kochar * and/or other materials provided with the distribution. 13*48bfb88eSYatharth Kochar * 14*48bfb88eSYatharth Kochar * Neither the name of ARM nor the names of its contributors may be used 15*48bfb88eSYatharth Kochar * to endorse or promote products derived from this software without specific 16*48bfb88eSYatharth Kochar * prior written permission. 17*48bfb88eSYatharth Kochar * 18*48bfb88eSYatharth Kochar * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19*48bfb88eSYatharth Kochar * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20*48bfb88eSYatharth Kochar * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21*48bfb88eSYatharth Kochar * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22*48bfb88eSYatharth Kochar * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23*48bfb88eSYatharth Kochar * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24*48bfb88eSYatharth Kochar * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25*48bfb88eSYatharth Kochar * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26*48bfb88eSYatharth Kochar * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27*48bfb88eSYatharth Kochar * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*48bfb88eSYatharth Kochar * POSSIBILITY OF SUCH DAMAGE. 29*48bfb88eSYatharth Kochar */ 30*48bfb88eSYatharth Kochar 31*48bfb88eSYatharth Kochar #include <bl1.h> 32*48bfb88eSYatharth Kochar #include <bl_common.h> 33*48bfb88eSYatharth Kochar #include <platform_def.h> 34*48bfb88eSYatharth Kochar 35*48bfb88eSYatharth Kochar image_desc_t bl1_tbbr_image_descs[] = { 36*48bfb88eSYatharth Kochar { 37*48bfb88eSYatharth Kochar .image_id = FWU_CERT_ID, 38*48bfb88eSYatharth Kochar .image_info.h.attr = SET_EXEC_STATE(NON_EXECUTABLE), 39*48bfb88eSYatharth Kochar .image_info.image_base = BL2_BASE, 40*48bfb88eSYatharth Kochar .ep_info.h.attr = SET_SEC_STATE(SECURE), 41*48bfb88eSYatharth Kochar }, 42*48bfb88eSYatharth Kochar #if NS_BL1U_BASE 43*48bfb88eSYatharth Kochar { 44*48bfb88eSYatharth Kochar .image_id = NS_BL1U_IMAGE_ID, 45*48bfb88eSYatharth Kochar .image_info.h.attr = SET_EXEC_STATE(EXECUTABLE), 46*48bfb88eSYatharth Kochar .image_info.image_base = NS_BL1U_BASE, 47*48bfb88eSYatharth Kochar .ep_info.h.attr = SET_SEC_STATE(NON_SECURE), 48*48bfb88eSYatharth Kochar .ep_info.pc = NS_BL1U_BASE, 49*48bfb88eSYatharth Kochar }, 50*48bfb88eSYatharth Kochar #endif 51*48bfb88eSYatharth Kochar #if SCP_BL2U_BASE 52*48bfb88eSYatharth Kochar { 53*48bfb88eSYatharth Kochar .image_id = SCP_BL2U_IMAGE_ID, 54*48bfb88eSYatharth Kochar .image_info.h.attr = SET_EXEC_STATE(NON_EXECUTABLE), 55*48bfb88eSYatharth Kochar .image_info.image_base = SCP_BL2U_BASE, 56*48bfb88eSYatharth Kochar .ep_info.h.attr = SET_SEC_STATE(SECURE), 57*48bfb88eSYatharth Kochar }, 58*48bfb88eSYatharth Kochar #endif 59*48bfb88eSYatharth Kochar #if BL2U_BASE 60*48bfb88eSYatharth Kochar { 61*48bfb88eSYatharth Kochar .image_id = BL2U_IMAGE_ID, 62*48bfb88eSYatharth Kochar .image_info.h.attr = SET_EXEC_STATE(EXECUTABLE), 63*48bfb88eSYatharth Kochar .image_info.image_base = BL2U_BASE, 64*48bfb88eSYatharth Kochar .ep_info.h.attr = SET_SEC_STATE(SECURE), 65*48bfb88eSYatharth Kochar .ep_info.pc = BL2U_BASE, 66*48bfb88eSYatharth Kochar }, 67*48bfb88eSYatharth Kochar #endif 68*48bfb88eSYatharth Kochar #if NS_BL2U_BASE 69*48bfb88eSYatharth Kochar { 70*48bfb88eSYatharth Kochar .image_id = NS_BL2U_IMAGE_ID, 71*48bfb88eSYatharth Kochar .image_info.h.attr = SET_EXEC_STATE(NON_EXECUTABLE), 72*48bfb88eSYatharth Kochar .image_info.image_base = NS_BL2U_BASE, 73*48bfb88eSYatharth Kochar .ep_info.h.attr = SET_SEC_STATE(NON_SECURE), 74*48bfb88eSYatharth Kochar }, 75*48bfb88eSYatharth Kochar #endif 76*48bfb88eSYatharth Kochar BL2_IMAGE_DESC, 77*48bfb88eSYatharth Kochar 78*48bfb88eSYatharth Kochar { 79*48bfb88eSYatharth Kochar .image_id = INVALID_IMAGE_ID, 80*48bfb88eSYatharth Kochar } 81*48bfb88eSYatharth Kochar }; 82