xref: /rk3399_ARM-atf/include/services/spm_core_manifest.h (revision a6ab1ae39cff4dd0fc29218ff7eed017ba726022)
10cb64d01SAchin Gupta /*
20cb64d01SAchin Gupta  * Copyright (c) 2020, Arm Limited. All rights reserved.
30cb64d01SAchin Gupta  *
40cb64d01SAchin Gupta  * SPDX-License-Identifier: BSD-3-Clause
50cb64d01SAchin Gupta  */
60cb64d01SAchin Gupta 
752696946SOlivier Deprez #ifndef SPM_CORE_MANIFEST_H
852696946SOlivier Deprez #define SPM_CORE_MANIFEST_H
90cb64d01SAchin Gupta 
100cb64d01SAchin Gupta #include <stdint.h>
110cb64d01SAchin Gupta 
120cb64d01SAchin Gupta /*******************************************************************************
130cb64d01SAchin Gupta  * Attribute Section
140cb64d01SAchin Gupta  ******************************************************************************/
150cb64d01SAchin Gupta 
160cb64d01SAchin Gupta typedef struct spm_core_manifest_sect_attribute {
170cb64d01SAchin Gupta 	/*
18662af36dSJ-Alves 	 * FFA version (mandatory).
190cb64d01SAchin Gupta 	 */
200cb64d01SAchin Gupta 	uint32_t major_version;
210cb64d01SAchin Gupta 	uint32_t minor_version;
220cb64d01SAchin Gupta 
230cb64d01SAchin Gupta 	/*
240cb64d01SAchin Gupta 	 * Run-Time Execution state (optional):
250cb64d01SAchin Gupta 	 * - 0: AArch64 (default)
260cb64d01SAchin Gupta 	 * - 1: AArch32
270cb64d01SAchin Gupta 	 */
280cb64d01SAchin Gupta 	uint32_t exec_state;
290cb64d01SAchin Gupta 
300cb64d01SAchin Gupta 	/*
3152696946SOlivier Deprez 	 * Address of binary image containing SPM Core (optional).
320cb64d01SAchin Gupta 	 */
330cb64d01SAchin Gupta 	uint64_t load_address;
340cb64d01SAchin Gupta 
350cb64d01SAchin Gupta 	/*
360cb64d01SAchin Gupta 	 * Offset from the base of the partition's binary image to the entry
3752696946SOlivier Deprez 	 * point of the partition (optional).
380cb64d01SAchin Gupta 	 */
390cb64d01SAchin Gupta 	uint64_t entrypoint;
400cb64d01SAchin Gupta 
410cb64d01SAchin Gupta 	/*
4252696946SOlivier Deprez 	 * Size of binary image containing SPM Core in bytes (mandatory).
430cb64d01SAchin Gupta 	 */
440cb64d01SAchin Gupta 	uint32_t binary_size;
450cb64d01SAchin Gupta 
46ac03ac5eSMax Shvetsov 	/*
47*2111b002SOlivier Deprez 	 * ID of the SPMC (mandatory)
48ac03ac5eSMax Shvetsov 	 */
49ac03ac5eSMax Shvetsov 	uint16_t spmc_id;
50ac03ac5eSMax Shvetsov 
5152696946SOlivier Deprez } spmc_manifest_attribute_t;
520cb64d01SAchin Gupta 
5352696946SOlivier Deprez #endif /* SPM_CORE_MANIFEST_H */
54