]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/OpteeLib/OpteeSmc.h
ArmPkg: Apply uncrustify changes
[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
cc15a619
PG
10#ifndef OPTEE_SMC_H_\r
11#define OPTEE_SMC_H_\r
a0f01e8a
SG
12\r
13/* Returned in Arg0 only from Trusted OS functions */\r
429309e0 14#define OPTEE_SMC_RETURN_OK 0x0\r
a0f01e8a 15\r
429309e0
MK
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
a0f01e8a 19\r
429309e0 20#define OPTEE_SMC_SHARED_MEMORY_CACHED 1\r
a0f01e8a 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
429309e0
MK
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
a0f01e8a 30\r
429309e0 31#define OPTEE_MESSAGE_ATTRIBUTE_META 0x100\r
a0f01e8a 32\r
429309e0 33#define OPTEE_LOGIN_PUBLIC 0x0\r
a0f01e8a
SG
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
429309e0
MK
44 UINT32 Data1;\r
45 UINT16 Data2;\r
46 UINT16 Data3;\r
47 UINT8 Data4[8];\r
a0f01e8a
SG
48} RFC4122_UUID;\r
49\r
cc15a619 50#endif // OPTEE_SMC_H_\r