blob: ed5374e04228a5f085e710705c0d6c68fa5d7b4e [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001/*
Zelalem Aweke4d37db82021-07-11 18:33:20 -05002 * Copyright (c) 2013-2021, ARM Limited and Contributors. All rights reserved.
Achin Gupta4f6ad662013-10-25 09:08:21 +01003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Achin Gupta4f6ad662013-10-25 09:08:21 +01005 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef BL31_H
8#define BL31_H
Achin Gupta4f6ad662013-10-25 09:08:21 +01009
Dan Handley2bd4ef22014-04-09 13:14:54 +010010#include <stdint.h>
Achin Gupta4f6ad662013-10-25 09:08:21 +010011
Achin Gupta4f6ad662013-10-25 09:08:21 +010012/*******************************************************************************
13 * Function prototypes
14 ******************************************************************************/
Antonio Nino Diaz47a90642019-01-31 11:01:26 +000015void bl31_setup(u_register_t arg0, u_register_t arg1, u_register_t arg2,
16 u_register_t arg3);
Dan Handleya17fefa2014-05-14 12:38:32 +010017void bl31_next_el_arch_setup(uint32_t security_state);
Roberto Vargas777dd432018-02-12 12:36:17 +000018void bl31_set_next_image_type(uint32_t security_state);
Dan Handleya17fefa2014-05-14 12:38:32 +010019uint32_t bl31_get_next_image_type(void);
Juan Castillo2d552402014-06-13 17:05:10 +010020void bl31_prepare_next_image_entry(void);
Roberto Vargas777dd432018-02-12 12:36:17 +000021void bl31_register_bl32_init(int32_t (*func)(void));
Zelalem Aweke4d37db82021-07-11 18:33:20 -050022void bl31_register_rmm_init(int32_t (*func)(void));
Soby Mathewd0194872016-04-29 19:01:30 +010023void bl31_warm_entrypoint(void);
Roberto Vargas05712702018-02-12 12:36:17 +000024void bl31_main(void);
Dan Handley2bd4ef22014-04-09 13:14:54 +010025
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000026#endif /* BL31_H */