blob: 453b21c0b5b045bfd918bc9c13e6e582d34e1fbf [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 /*
J-Alves2672cde2020-05-07 18:42:25 +010018 * FFA version (mandatory).
Achin Guptada6ef0e2019-10-11 14:54:48 +010019 */
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 /*
Olivier Deprezd4095b22020-06-12 18:10:28 +020047 * ID of the SPMC (mandatory)
Max Shvetsove79062e2020-03-12 15:16:40 +000048 */
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 */