blob: bdbf80f32d1e4edc98db28bcfec7ed0c5c6b4a4d [file] [log] [blame]
Dan Handleybcd60ba2014-04-17 18:53:42 +01001/*
Joel Hutton5cc3bc82018-03-21 11:40:57 +00002 * Copyright (c) 2013-2018, 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
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef BL1_PRIVATE_H
8#define BL1_PRIVATE_H
Dan Handleybcd60ba2014-04-17 18:53:42 +01009
Antonio Nino Diaz4b32e622018-08-16 16:52:57 +010010#include <stdint.h>
Antonio Nino Diaze0f90632018-12-14 00:18:21 +000011
12#include <lib/utils_def.h>
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010013
Sandrine Bailleux467d0572014-06-24 14:02:34 +010014/*******************************************************************************
15 * Declarations of linker defined symbols which will tell us where BL1 lives
Sandrine Bailleux6c2daed2016-06-15 13:53:50 +010016 * in Trusted ROM and RAM
Sandrine Bailleux467d0572014-06-24 14:02:34 +010017 ******************************************************************************/
Joel Hutton5cc3bc82018-03-21 11:40:57 +000018IMPORT_SYM(uintptr_t, __BL1_ROM_END__, BL1_ROM_END);
Sandrine Bailleux6c2daed2016-06-15 13:53:50 +010019
Joel Hutton5cc3bc82018-03-21 11:40:57 +000020IMPORT_SYM(uintptr_t, __BL1_RAM_START__, BL1_RAM_BASE);
21IMPORT_SYM(uintptr_t, __BL1_RAM_END__, BL1_RAM_LIMIT);
Sandrine Bailleux467d0572014-06-24 14:02:34 +010022
Dan Handleybcd60ba2014-04-17 18:53:42 +010023/******************************************
24 * Function prototypes
25 *****************************************/
Dan Handleya17fefa2014-05-14 12:38:32 +010026void bl1_arch_setup(void);
27void bl1_arch_next_el_setup(void);
Dan Handleybcd60ba2014-04-17 18:53:42 +010028
Yatharth Kochara65be2f2015-10-09 18:06:13 +010029void bl1_prepare_next_image(unsigned int image_id);
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010030
31register_t bl1_fwu_smc_handler(unsigned int smc_fid,
32 register_t x1,
33 register_t x2,
34 register_t x3,
35 register_t x4,
36 void *cookie,
37 void *handle,
38 unsigned int flags);
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000039#endif /* BL1_PRIVATE_H */