1 /* SPDX-License-Identifier: BSD-3-Clause */ 2 /* 3 * Copyright (c) 2021-2022, 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_UUID: UUID of the SP as an sp_uuid structure 17 * * OPTEE_SP_STACK_SIZE: Stack size in bytes 18 * * OPTEE_SP_FLAGS: SP attributes (currently none available, set to zero) 19 */ 20 21 /* 22 * SP header types 23 */ 24 struct optee_sp_uuid { 25 uint32_t timeLow; 26 uint16_t timeMid; 27 uint16_t timeHiAndVersion; 28 uint8_t clockSeqAndNode[8]; 29 }; 30 31 struct optee_sp_head { 32 struct optee_sp_uuid uuid; 33 uint32_t stack_size; 34 uint32_t flags; 35 uint64_t reserved; 36 }; 37 38 #endif /* OPTEE_SP_INTERNAL_API_H_ */ 39