blob: 6ac3b8c672c11f8199a19a968cd12dcb567c5757 [file] [log] [blame]
Dan Handleybcd60ba2014-04-17 18:53:42 +01001/*
Sandrine Bailleux6c2daed2016-06-15 13:53:50 +01002 * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved.
Dan Handleybcd60ba2014-04-17 18:53:42 +01003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Dan Handleybcd60ba2014-04-17 18:53:42 +01005 */
6
7#ifndef __BL1_PRIVATE_H__
8#define __BL1_PRIVATE_H__
9
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010010#include <types.h>
11
Sandrine Bailleux467d0572014-06-24 14:02:34 +010012/*******************************************************************************
13 * Declarations of linker defined symbols which will tell us where BL1 lives
Sandrine Bailleux6c2daed2016-06-15 13:53:50 +010014 * in Trusted ROM and RAM
Sandrine Bailleux467d0572014-06-24 14:02:34 +010015 ******************************************************************************/
Yatharth Kochar5d361212016-06-28 17:07:09 +010016extern uintptr_t __BL1_ROM_END__;
17#define BL1_ROM_END (uintptr_t)(&__BL1_ROM_END__)
Sandrine Bailleux6c2daed2016-06-15 13:53:50 +010018
Yatharth Kochar5d361212016-06-28 17:07:09 +010019extern uintptr_t __BL1_RAM_START__;
20extern 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__)
Sandrine Bailleux467d0572014-06-24 14:02:34 +010023
Dan Handleybcd60ba2014-04-17 18:53:42 +010024/******************************************
25 * Function prototypes
26 *****************************************/
Dan Handleya17fefa2014-05-14 12:38:32 +010027void bl1_arch_setup(void);
28void bl1_arch_next_el_setup(void);
Dan Handleybcd60ba2014-04-17 18:53:42 +010029
Yatharth Kochara65be2f2015-10-09 18:06:13 +010030void bl1_prepare_next_image(unsigned int image_id);
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010031
32register_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);
Dan Handleybcd60ba2014-04-17 18:53:42 +010040#endif /* __BL1_PRIVATE_H__ */