blob: 0c436369171648a6d1e8b6800c6b8430ebafc547 [file] [log] [blame]
Achin Guptada6ef0e2019-10-11 14:54:48 +01001/*
2 * Copyright (c) 2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Olivier Deprez2bae35f2020-04-16 13:39:06 +02007#ifndef SPM_CORE_MANIFEST_H
8#define SPM_CORE_MANIFEST_H
Achin Guptada6ef0e2019-10-11 14:54:48 +01009
10#include <stdint.h>
11
12/*******************************************************************************
13 * Attribute Section
14 ******************************************************************************/
15
16typedef struct spm_core_manifest_sect_attribute {
17 /*
18 * SPCI version (mandatory).
19 */
20 uint32_t major_version;
21 uint32_t minor_version;
22
23 /*
Achin Guptada6ef0e2019-10-11 14:54:48 +010024 * Run-Time Execution state (optional):
25 * - 0: AArch64 (default)
26 * - 1: AArch32
27 */
28 uint32_t exec_state;
29
30 /*
Olivier Deprez2bae35f2020-04-16 13:39:06 +020031 * Address of binary image containing SPM Core (optional).
Achin Guptada6ef0e2019-10-11 14:54:48 +010032 */
33 uint64_t load_address;
34
35 /*
36 * Offset from the base of the partition's binary image to the entry
Olivier Deprez2bae35f2020-04-16 13:39:06 +020037 * point of the partition (optional).
Achin Guptada6ef0e2019-10-11 14:54:48 +010038 */
39 uint64_t entrypoint;
40
41 /*
Olivier Deprez2bae35f2020-04-16 13:39:06 +020042 * Size of binary image containing SPM Core in bytes (mandatory).
Achin Guptada6ef0e2019-10-11 14:54:48 +010043 */
44 uint32_t binary_size;
45
Max Shvetsove79062e2020-03-12 15:16:40 +000046 /*
47 * ID of the SPMD (mandatory)
48 */
49 uint16_t spmc_id;
50
Olivier Deprez2bae35f2020-04-16 13:39:06 +020051} spmc_manifest_attribute_t;
Achin Guptada6ef0e2019-10-11 14:54:48 +010052
Olivier Deprez2bae35f2020-04-16 13:39:06 +020053#endif /* SPM_CORE_MANIFEST_H */