1 /* 2 * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef BL2_PRIVATE_H 8 #define BL2_PRIVATE_H 9 10 #if BL2_IN_XIP_MEM 11 12 #include <stdint.h> 13 14 /******************************************************************************* 15 * Declarations of linker defined symbols which will tell us where BL2 lives 16 * in Trusted ROM and RAM 17 ******************************************************************************/ 18 extern uintptr_t __BL2_ROM_END__; 19 #define BL2_ROM_END (uintptr_t)(&__BL2_ROM_END__) 20 21 extern uintptr_t __BL2_RAM_START__; 22 extern uintptr_t __BL2_RAM_END__; 23 #define BL2_RAM_BASE (uintptr_t)(&__BL2_RAM_START__) 24 #define BL2_RAM_LIMIT (uintptr_t)(&__BL2_RAM_END__) 25 #endif 26 27 /****************************************** 28 * Forward declarations 29 *****************************************/ 30 struct entry_point_info; 31 32 /****************************************** 33 * Function prototypes 34 *****************************************/ 35 void bl2_arch_setup(void); 36 struct entry_point_info *bl2_load_images(void); 37 void bl2_run_next_image(const struct entry_point_info *bl_ep_info); 38 39 #endif /* BL2_PRIVATE_H */ 40