]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/OpteeLib/OpteeSmc.h
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / OpteeLib / OpteeSmc.h
CommitLineData
a0f01e8a
SG
1/** @file\r
2 OP-TEE SMC header file.\r
3\r
4 Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>\r
5\r
4059386c 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
a0f01e8a
SG
7\r
8**/\r
9\r
10#ifndef _OPTEE_SMC_H_\r
11#define _OPTEE_SMC_H_\r
12\r
13/* Returned in Arg0 only from Trusted OS functions */\r
14#define OPTEE_SMC_RETURN_OK 0x0\r
15\r
16#define OPTEE_SMC_RETURN_FROM_RPC 0x32000003\r
17#define OPTEE_SMC_CALL_WITH_ARG 0x32000004\r
18#define OPTEE_SMC_GET_SHARED_MEMORY_CONFIG 0xb2000007\r
19\r
20#define OPTEE_SMC_SHARED_MEMORY_CACHED 1\r
21\r
088a5334
SG
22#define OPTEE_SMC_RETURN_UNKNOWN_FUNCTION 0xffffffff\r
23#define OPTEE_SMC_RETURN_RPC_PREFIX_MASK 0xffff0000\r
24#define OPTEE_SMC_RETURN_RPC_PREFIX 0xffff0000\r
a0f01e8a
SG
25#define OPTEE_SMC_RETURN_RPC_FOREIGN_INTERRUPT 0xffff0004\r
26\r
27#define OPTEE_MESSAGE_COMMAND_OPEN_SESSION 0\r
28#define OPTEE_MESSAGE_COMMAND_INVOKE_FUNCTION 1\r
29#define OPTEE_MESSAGE_COMMAND_CLOSE_SESSION 2\r
30\r
31#define OPTEE_MESSAGE_ATTRIBUTE_META 0x100\r
32\r
33#define OPTEE_LOGIN_PUBLIC 0x0\r
34\r
35typedef struct {\r
36 UINTN Base;\r
37 UINTN Size;\r
38} OPTEE_SHARED_MEMORY_INFORMATION;\r
39\r
40//\r
41// UUID struct compliant with RFC4122 (network byte order).\r
42//\r
43typedef struct {\r
44 UINT32 Data1;\r
45 UINT16 Data2;\r
46 UINT16 Data3;\r
47 UINT8 Data4[8];\r
48} RFC4122_UUID;\r
49\r
50#endif\r