1 /*
2  * Copyright (c) 2020, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SPM_CORE_MANIFEST_H
8 #define SPM_CORE_MANIFEST_H
9 
10 #include <stdint.h>
11 
12 /*******************************************************************************
13  * Attribute Section
14  ******************************************************************************/
15 
16 typedef struct spm_core_manifest_sect_attribute {
17 	/*
18 	 * FFA version (mandatory).
19 	 */
20 	uint32_t major_version;
21 	uint32_t minor_version;
22 
23 	/*
24 	 * Run-Time Execution state (optional):
25 	 * - 0: AArch64 (default)
26 	 * - 1: AArch32
27 	 */
28 	uint32_t exec_state;
29 
30 	/*
31 	 * Address of binary image containing SPM Core (optional).
32 	 */
33 	uint64_t load_address;
34 
35 	/*
36 	 * Offset from the base of the partition's binary image to the entry
37 	 * point of the partition (optional).
38 	 */
39 	uint64_t entrypoint;
40 
41 	/*
42 	 * Size of binary image containing SPM Core in bytes (mandatory).
43 	 */
44 	uint32_t binary_size;
45 
46 	/*
47 	 * ID of the SPMC (mandatory)
48 	 */
49 	uint16_t spmc_id;
50 
51 } spmc_manifest_attribute_t;
52 
53 #endif /* SPM_CORE_MANIFEST_H */
54