1 /*
2  * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef __BL1_PRIVATE_H__
8 #define __BL1_PRIVATE_H__
9 
10 #include <types.h>
11 
12 /*******************************************************************************
13  * Declarations of linker defined symbols which will tell us where BL1 lives
14  * in Trusted ROM and RAM
15  ******************************************************************************/
16 extern uintptr_t __BL1_ROM_END__;
17 #define BL1_ROM_END (uintptr_t)(&__BL1_ROM_END__)
18 
19 extern uintptr_t __BL1_RAM_START__;
20 extern uintptr_t __BL1_RAM_END__;
21 #define BL1_RAM_BASE (uintptr_t)(&__BL1_RAM_START__)
22 #define BL1_RAM_LIMIT (uintptr_t)(&__BL1_RAM_END__)
23 
24 /******************************************
25  * Function prototypes
26  *****************************************/
27 void bl1_arch_setup(void);
28 void bl1_arch_next_el_setup(void);
29 
30 void bl1_prepare_next_image(unsigned int image_id);
31 
32 register_t bl1_fwu_smc_handler(unsigned int smc_fid,
33 		register_t x1,
34 		register_t x2,
35 		register_t x3,
36 		register_t x4,
37 		void *cookie,
38 		void *handle,
39 		unsigned int flags);
40 #endif /* __BL1_PRIVATE_H__ */
41