OP-TEE specific header file.\r
\r
Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>\r
+ Copyright (c) 2021, Arm Limited. All rights reserved.<BR>\r
\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
-#ifndef _OPTEE_H_\r
-#define _OPTEE_H_\r
+#ifndef OPTEE_LIB_H_\r
+#define OPTEE_LIB_H_\r
\r
/*\r
* The 'Trusted OS Call UID' is supposed to return the following UUID for\r
* OP-TEE OS. This is a 128-bit value.\r
*/\r
-#define OPTEE_OS_UID0 0x384fb3e0\r
-#define OPTEE_OS_UID1 0xe7f811e3\r
-#define OPTEE_OS_UID2 0xaf630002\r
-#define OPTEE_OS_UID3 0xa5d5c51b\r
+#define OPTEE_OS_UID0 0x384fb3e0\r
+#define OPTEE_OS_UID1 0xe7f811e3\r
+#define OPTEE_OS_UID2 0xaf630002\r
+#define OPTEE_OS_UID3 0xa5d5c51b\r
\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_NONE 0x0\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INPUT 0x1\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_OUTPUT 0x2\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INOUT 0x3\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INPUT 0x9\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_OUTPUT 0xa\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INOUT 0xb\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_NONE 0x0\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INPUT 0x1\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_OUTPUT 0x2\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INOUT 0x3\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INPUT 0x9\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_OUTPUT 0xa\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INOUT 0xb\r
\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MASK 0xff\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MASK 0xff\r
\r
-#define OPTEE_SUCCESS 0x00000000\r
-#define OPTEE_ORIGIN_COMMUNICATION 0x00000002\r
-#define OPTEE_ERROR_COMMUNICATION 0xFFFF000E\r
+#define OPTEE_SUCCESS 0x00000000\r
+#define OPTEE_ORIGIN_COMMUNICATION 0x00000002\r
+#define OPTEE_ERROR_COMMUNICATION 0xFFFF000E\r
\r
typedef struct {\r
UINT64 BufferAddress;\r
UINT64 C;\r
} OPTEE_MESSAGE_PARAM_VALUE;\r
\r
+typedef union {\r
+ OPTEE_MESSAGE_PARAM_MEMORY Memory;\r
+ OPTEE_MESSAGE_PARAM_VALUE Value;\r
+} OPTEE_MESSAGE_PARAM_UNION;\r
+\r
typedef struct {\r
- UINT64 Attribute;\r
- union {\r
- OPTEE_MESSAGE_PARAM_MEMORY Memory;\r
- OPTEE_MESSAGE_PARAM_VALUE Value;\r
- } Union;\r
+ UINT64 Attribute;\r
+ OPTEE_MESSAGE_PARAM_UNION Union;\r
} OPTEE_MESSAGE_PARAM;\r
\r
-#define OPTEE_MAX_CALL_PARAMS 4\r
+#define OPTEE_MAX_CALL_PARAMS 4\r
\r
typedef struct {\r
- UINT32 Command;\r
- UINT32 Function;\r
- UINT32 Session;\r
- UINT32 CancelId;\r
- UINT32 Pad;\r
- UINT32 Return;\r
- UINT32 ReturnOrigin;\r
- UINT32 NumParams;\r
+ UINT32 Command;\r
+ UINT32 Function;\r
+ UINT32 Session;\r
+ UINT32 CancelId;\r
+ UINT32 Pad;\r
+ UINT32 Return;\r
+ UINT32 ReturnOrigin;\r
+ UINT32 NumParams;\r
\r
// NumParams tells the actual number of element in Params\r
- OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS];\r
+ OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS];\r
} OPTEE_MESSAGE_ARG;\r
\r
typedef struct {\r
- EFI_GUID Uuid; // [in] GUID/UUID of the Trusted Application\r
- UINT32 Session; // [out] Session id\r
- UINT32 Return; // [out] Return value\r
- UINT32 ReturnOrigin; // [out] Origin of the return value\r
+ EFI_GUID Uuid; // [in] GUID/UUID of the Trusted Application\r
+ UINT32 Session; // [out] Session id\r
+ UINT32 Return; // [out] Return value\r
+ UINT32 ReturnOrigin; // [out] Origin of the return value\r
} OPTEE_OPEN_SESSION_ARG;\r
\r
typedef struct {\r
- UINT32 Function; // [in] Trusted Application function, specific to the TA\r
- UINT32 Session; // [in] Session id\r
- UINT32 Return; // [out] Return value\r
- UINT32 ReturnOrigin; // [out] Origin of the return value\r
- OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS]; // Params for function to be invoked\r
+ UINT32 Function; // [in] Trusted Application function, specific to the TA\r
+ UINT32 Session; // [in] Session id\r
+ UINT32 Return; // [out] Return value\r
+ UINT32 ReturnOrigin; // [out] Origin of the return value\r
+ OPTEE_MESSAGE_PARAM Params[OPTEE_MAX_CALL_PARAMS]; // Params for function to be invoked\r
} OPTEE_INVOKE_FUNCTION_ARG;\r
\r
BOOLEAN\r
EFI_STATUS\r
EFIAPI\r
OpteeOpenSession (\r
- IN OUT OPTEE_OPEN_SESSION_ARG *OpenSessionArg\r
+ IN OUT OPTEE_OPEN_SESSION_ARG *OpenSessionArg\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
OpteeCloseSession (\r
- IN UINT32 Session\r
+ IN UINT32 Session\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
OpteeInvokeFunction (\r
- IN OUT OPTEE_INVOKE_FUNCTION_ARG *InvokeFunctionArg\r
+ IN OUT OPTEE_INVOKE_FUNCTION_ARG *InvokeFunctionArg\r
);\r
\r
-#endif\r
+#endif // OPTEE_LIB_H_\r