blob: d275caa0ecb64eca50867ed0c3f3d21ced8f008b [file] [log] [blame]
Imre Kise6d73412021-10-18 14:01:47 +02001/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
4 */
5
6#ifndef OPTEE_SP_INTERNAL_API_H_
7#define OPTEE_SP_INTERNAL_API_H_
8
9#include <stdint.h>
10
11/*
12 * The file describes the API between the OP-TEE and the SP.
13 * The SP code base should also contain a header file named
14 * "optee_sp_user_defines.h" for passing the following definitions to the SP dev
15 * kit:
16 * * OPTEE_SP_HEAP_SIZE: Heap size in bytes
17 * * OPTEE_SP_UUID: UUID of the SP as an sp_uuid structure
18 * * OPTEE_SP_STACK_SIZE: Stack size in bytes
19 * * OPTEE_SP_FLAGS: SP attributes (currently none available, set to zero)
20 */
21
22/*
23 * SP header types
24 */
25struct optee_sp_uuid {
26 uint32_t timeLow;
27 uint16_t timeMid;
28 uint16_t timeHiAndVersion;
29 uint8_t clockSeqAndNode[8];
30};
31
32struct optee_sp_head {
33 struct optee_sp_uuid uuid;
34 uint32_t stack_size;
35 uint32_t flags;
36 uint64_t reserved;
37};
38
39#endif /* OPTEE_SP_INTERNAL_API_H_ */