blob: 1d58ef968177feb1dc894247ab10cf805c08c6bd [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001/*
Zelalem Aweke5b18de02021-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-arm82cb2c12017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Achin Gupta4f6ad662013-10-25 09:08:21 +01005 */
6
Antonio Nino Diazc3cf06f2018-11-08 10:20:19 +00007#ifndef BL31_H
8#define BL31_H
Achin Gupta4f6ad662013-10-25 09:08:21 +01009
Dan Handley97043ac2014-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 Diaz88cfd9a2019-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 Handleyc6bc0712014-05-14 12:38:32 +010017void bl31_next_el_arch_setup(uint32_t security_state);
Roberto Vargas9fb8af32018-02-12 12:36:17 +000018void bl31_set_next_image_type(uint32_t security_state);
Dan Handleyc6bc0712014-05-14 12:38:32 +010019uint32_t bl31_get_next_image_type(void);
Juan Castillo4f2104f2014-06-13 17:05:10 +010020void bl31_prepare_next_image_entry(void);
Roberto Vargas9fb8af32018-02-12 12:36:17 +000021void bl31_register_bl32_init(int32_t (*func)(void));
Zelalem Aweke5b18de02021-07-11 18:33:20 -050022void bl31_register_rmm_init(int32_t (*func)(void));
Soby Mathewcf0b1492016-04-29 19:01:30 +010023void bl31_warm_entrypoint(void);
Roberto Vargas7fabe1a2018-02-12 12:36:17 +000024void bl31_main(void);
25void bl31_lib_init(void);
Dan Handley97043ac2014-04-09 13:14:54 +010026
Antonio Nino Diazc3cf06f2018-11-08 10:20:19 +000027#endif /* BL31_H */